#include typedef long long ll; using namespace std; int INF = 1e9; int MOD = 1e9+7; ll num[] = {1,3,5,15,17,51,85,255,257,771,1285,3855,4369,13107,21845,65535,65537,196611,327685,983055,1114129,3342387,5570645,16711935,16843009,50529027,84215045,252645135,286331153,858993459,1431655765}; main(){ set st; for(ll i = 0;i < 31;i++){ for(ll j = 0;j < 32;j++){ if(num[i] * (1 << j) <= 0)continue; st.insert(num[i] * (1 << j)); } } ll N,i = -2; cin >> N; for(auto itr = st.begin();itr != st.end();itr++,i++){ if(*itr > N){ cout << i << endl; return 0; } } }