#include<bits/stdc++.h>
using namespace std;
long long q,logsum[100]={0,1,8,343,1331,1030301,1367631,1003003001,10662526601,1000300030001,1030607060301,1334996994331,1000030000300001,1033394994933301,133139931331,1000000000000000000},n;
long long check(long long l,long long r){
long long mid=(l+r)/2+1;
if(l==r){
cout<<logsum[l]<<endl;
return 0;
}
if(logsum[mid]<=n){
return check(mid,r);
}
else{
return check(l,mid-1);
}
}
int main(){
cin>>n;
check(1,15);
return 0;
}