#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int p[] = {2,3,5,7,11,13,17,19,23,29,31};
int n, ans;
ll fac_num = 0;
void dfs(int step,int num,ll x,int len)
{
if(step == 10) return ;
if(x > fac_num){ ans = num; fac_num = x; }
if(x == fac_num && num < ans) ans = num;
int tmp = 1;
for(int i = 1; i <= len; i++){
tmp *= p[step];
if(n/num < tmp) break;
dfs(step+1,num*tmp,x*(i+1),i);
}
return ;
}
int main()
{
scanf("%d",&n);
dfs(0,1,1,31);
printf("%d\n",ans);
return 0;
}