#include <iostream>
using namespace std;
// 한수인지 체크하는 함수
int hansu(int n) { // n: 확인할 숫자, 리턴: 한수이면 1, 아니면 0
int n2, d;
if(n < 100) return 1; // 1~99는 모두 등차수열
n2 = n / 10; // 끝자리 없앰
d = n%10 - n2%10; // 1의 자리수-10의 자리수=간격
while(n2 > 9) { // 마지막 한 자리수 이미 계산 끝난 상태므로 루프 끝
if(d != (n2%10 - (n2/10)%10)) return 0;
// 앞을 자리수 뺀값이 기존 간격과 다르면 한수가 아님. 리턴 0 끝.
n2 = n2 / 10; // 끝자리 없앰
}
return 1; // 간격이 모두 같으므로 한수. True 리턴
}
int main() {
int i, n, count = 0;
cin >> n; // 숫자를 입력받아 정수로 만들어 대입한다. 최대값 n
count = 99; // 99까지는 모두가 등차수열임
if(n < 99) { // 99보다 작으면 그 값이 등차수열 갯수
count = n;
} else { // 99보다 크면 100 이상 숫자부터 그 값까지 한수 계산
for(i = 100; i < n+1; i++) {
if(hansu(i)==1) count++; // 한수이면 카운트 증가
}
}
cout << count; // 한수의 총갯수 count 출력
return 0;
}