#include <iostream>
#include <vector>
#include <deque>
#include <stack>
#include <memory>
#include <functional>
#include <algorithm>
#include <map>
#include <list>
#include <complex>
#include <string>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <numeric>
#include <array>
using namespace std;
typedef std::pair<int, int> pii;
typedef long long int ll;

#define pb push_back

const long long int MOD = 1e9+7;

ll f[5] = {3, 5, 17, 257, 65537};

int main(){
	
	int A;
	cin >> A;

	std::vector<ll> v;
	v.pb(1);
	for(int i = 1; i < 1 << 5; i++) {
		
		ll ret = 1;
	    for(int j = 0; j < 5; j++) {
	        if (i >> j & 1) {
	        	ret *= f[j];
	        }
	    }
	    v.pb(ret);
	}
	int a = 0;
	int r = 0;
	int count_ = 0;
	while(1){
		ll b = pow(2, a);
		if(b*v[0] > A) break;
		for(const auto& element : v) {
			r = b * element;
			if(r <= A){
				if(r != 1 && r != 2) count_++; 
			}else{
				break;
			}
		}
		a++;
	}

	std::cout << count_ << std::endl;

	return 0;
}