进制+回文
#include <bits/stdc++.h>
using namespace std;
string tento2(int i){
string ans;
while(i!=0){
int ys=i%2;
ans+=to_string(ys); // 111000
i/=2;
}
return ans;
}
bool ishuiwen(string s){
string t=s; // 123
reverse(t.begin(),t.end()); // 倒序
return t==s;
}
int main(){
int n;
cin>>n;
int ans=0;
for(int i=1;i<=n;i++){
string k=tento2(i);
if(ishuiwen(k)){
ans++;
}
}
cout<<ans;
return 0;
}