#include using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int N; cin>>N; vectorprime(N+1,1); vectorask1,ask2; for(int i=2;i<=N;i++){ if(prime[i]==0)continue; int t=i; while(t*i<=N)t*=i; if(t!=i)ask1.push_back(t); else ask2.push_back(t); for(int j=i*i;j<=N;j+=i){ prime[j]=0; } } long long ans=1; int cnt=0; for(int i=0,t;i>t; ans*=t; } random_device sd; mt19937 rd(sd()); while(ask2.size()&&ans*ask2.back()>N)ask2.pop_back(); shuffle(ask2.begin(),ask2.end(),rd); for(int i=0,t;i>t; ans*=t; } cout<<"! "<