#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair i_i; typedef pair ll_i; typedef pair d_i; typedef pair ll_ll; typedef pair d_d; struct edge { int u, v; ll w; }; ll MOD = 1000000007; ll _MOD = 1000000009; double EPS = 1e-10; int f[5] = {3, 5, 17, 257, 65537}; int main() { set s; for (int S = 0; S < 32; S++) { ll x = 1; for (int i = 0; i < 5; i++) if ((S >> i) & 1) x *= f[i]; for (; x <= 1000000000; x *= 2) s.insert(x); } int A; cin >> A; int cnt = 0; for (auto it = s.begin(); it != s.end(); it++) if (3 <= *it && *it <= A) cnt++; cout << cnt << endl; }