#include using namespace std; #define FOR(i, n) for(int i = 0; i < (n); i++) #define MEM(a, x) memset(a, x, sizeof(a)) #define ALL(a) a.begin(), a.end() #define UNIQUE(a) a.erase(unique(ALL(a)), a.end()) typedef long long ll; typedef pair P; ll x; int num(int sz) { return 9 * pow(10, (sz-10)/2); } int main(int argc, char const *argv[]) { ios_base::sync_with_stdio(false); cin >> x; if (x < 1000000001) { cout << 0 << endl; return 0; } string s = to_string(x); int n = s.size(); if (n == 19) { n--; x--; } int ret = 0; for (int i = 10; i < n; i++) ret += num(i); for (int i = pow(10, (n-10)/2); i < pow(10, (n-10)/2+1); i++) { string t1 = to_string(i), t2 = to_string(i); reverse(ALL(t2)); if (n & 1) t1 += t2; else t1 += t2.substr(1); int nn = t1.size(); string t = t1 + string(n-2*nn, '0') + t1; if (stoll(t) <= x) ret++; } cout << ret << endl; return 0; }