钦定大水题qwq
#include"stdio.h"
using namespace std;
typedef long long ll;
int ans,ansn,n;
int pri[20]={0,2,3,5,7,11,13,17,19,23,29,31,37};
void dfs(int pos,int x,int lat,int a,int s){
if (x<pri[pos]){
if(s>ansn||(a<ans&&s==ansn)) ans=a,ansn=s;
return ;
}
int cnt=0,p=pri[pos];
while (cnt<=lat&&x>=p){
dfs(pos+1,x/=p,cnt,a*=p,s*(++cnt+1));
}
}
int main(){
ans=ansn=1; scanf("%d",&n);
dfs(1,n,50,1,1); printf("%d\n",ans);
return 0;
}