#include using namespace std; using ll = long long; const int mx = 1262; int vis[mx+1]; int d[] = {2,3,5,7,11,13,17,19,23,29,31}; int main(){ int n; cin>>n; for(int i = 2;i<=mx;i++){ if(vis[i]) continue; for(int j = i;j<=mx;j+=i){ vis[j] = i; } } vector dp(1<<11,0); for(int i = 2;i<=n;i++){ if(vis[i]!=i) continue; vector nxt(dp); for(int j = i;j<=n;j+=i){ if(vis[j]!=i) continue; //vector nxt(dp); int mask = 0; for(int k = 0;k<11;k++){ if(j%d[k]==0) mask |= 1 << k; } //cout<