1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
#include <stdio.h>

long long d(long long a)
{
	if (a < 19) return a+1;
	else return ((a % 10) + 1) * d(a/10) + (((a%100)>9 && (a%100)<19)?19-(a%100):0)*d(a/100);
}

int main()
{
long long N;

	scanf("%lld",&N);
	
	printf("%lld\n",d(N));
	
	return 0;
}