#include<iostream>
using namespace std;
int sushu(int x){
if(x==1)
return 0;
if(x==2)
return 1;
for(int i=2;i<x;++i){
if(x%i==0)return 0;
}
return 1;
}
int main(){//难点在于质数和等于n的有好几组,找出积最大的一组
int n;
cin>>n;
int arr[n];
int j=0;
int ji=0,temp=0;
for(int i=0;i<=n;++i){
arr[i]=0;
}
for(int i=2;i<=n;++i){
if(sushu(i)==1){
arr[j]=i;
j++;//把所有质数存放在arr数组中
}
}
for(int i=0;i<j;++i){//把每个数字依次比较是否和为n,并进行乘法处理
for(int k=0;k<j;++k){
if(arr[i]+arr[k]==n){
ji=arr[i]*arr[k];
if(ji>temp){
temp=ji;
}
}
}
}
cout<<temp<<endl;
return 0;
}