#include using namespace std; #define REP(i,a,n) for(int i=(a); i<(int)(n); i++) #define rep(i,n) REP(i,0,n) #define FOR(it,c) for(__typeof((c).begin()) it=(c).begin(); it!=(c).end(); ++it) #define ALLOF(c) (c).begin(), (c).end() typedef long long ll; typedef unsigned long long ull; vector v; void dfs(const string& x){ if(x.size() >= 8) return; rep(i,10){ string y = (string("") + (char)('0'+i)) + x + (string("") + (char)('0'+i)); if(y[0] != '0' && y.size()<=9){ stringstream ss(y); ll z; ss >> z; v.push_back(z); } dfs(y); } } int main(){ ll N; cin >> N; dfs(""); rep(i,10){ if(i>0) v.push_back(i); dfs(string("") + (char)('0'+i)); } ll base = 1000000001LL; ll ret = 0; rep(i,v.size()){ ll x = base * v[i]; if(x <= N) ret++; } cout << ret << endl; return 0; }