#include <iostream>
using namespace std;
const int MAX = 2008080808;
const int IT = 7;
template<int n, int curr, int last, int base, int weight>
class A
{
enum{it = n/base%10};
public:
enum{result = A<n, (it-(it>IT))* weight+((it<IT)?curr:(it==IT?last:base+curr)), last+base*it, base*10, (weight?weight*9+base:1)> :: result};
};
template<int n, int curr, int base, int weight>
class A<n, curr, n, base, weight>
{
public:
enum {result = curr};
};
int main(int argc, char* argv[])
{
cout << A<MAX+1, 0, 0, 1, 0>:: result << endl;
return 0;
}