#include<bits/stdc++.h> #define ll long long usingnamespace std;
constint N = 1e3 + 6, G = 1e5 + 66;
int n, cnt, res; int f[N][N], vis[N], pri[N];
inlinevoidpres_dou(int lim) { int i, j; for (i = 2; i <= lim; ++ i) { if (! vis[i]) pri[++ cnt] = i; for (j = 1; j <= cnt && i * pri[j] <= lim; ++ j) { vis[i * pri[j]] = 1; if (! (i % pri[j])) break; } } return; }
signedmain() { int i, j; n = read(), pres_dou(n);
f[0][0] = 1; for (i = 1; i <= cnt; ++ i) { for (j = 0; j <= n; ++ j) { f[i][j] = f[i - 1][j]; int now = pri[i]; for (; now <= j; now *= pri[i]) f[i][j] += f[i - 1][j - now]; } } for (i = 0; i <= n; ++ i) res += f[cnt][i]; put(res); return0; }