設
long long z[20]={2,3,5,7,11,13,17,19,23,29,31,37},n,ans,p;
void getans(long long x,long long y,long long k,long long aa)
{
long long s=x;
if(y>10)
return;
if(aa>p&&x<=n)
{
ans=x;
p=aa;
}
if(aa==p&&x<ans)
ans=x;
fr(i,1,k)
{
s=s*z[y];
if(s>n)
break;
getans(s,y+1,i,aa*(i+1));
}
}
int main()
{
while(scanf("%lld",&n)!=EOF)
{
ans=0;
p=0;
getans(1,0,1000000,1);
printf("%lld\n",ans);
}
return 0;
}