#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; vector use; for(int i = 2;i<=mx;i++){ if(vis[i]) continue; use.push_back(i); 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; for(int j = i;j<=n;j+=i){ vector nxt = dp; int mask = 0; for(int k = 0;k<11;k++){ if(j%d[k]==0) mask |= 1 << k; } for(int k = 0;k<1<<11;k++){ if(mask&k) continue; nxt[mask|k] = max(nxt[mask|k],nxt[k]+j); } swap(dp,nxt); } } ll ans = 0; for(int i = 0;i<1<<11;i++) ans = max(ans,dp[i]); cout<