#include <bits/stdc++.h>
#pragma GCC optimize("O3")
const int N = 2e5 + 5;
const int OO = 1e6;
const long long mod = 1e9 + 7;
using namespace std;
long long n;
set<long long> st;
void best(long long i, long long j, long long num) {
  if (num > n) return;
  st.insert(num);
  best(i, j, num * 10 + i);
  best(i, j, num * 10 + j);
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n;
  for (long long i = 1; i < 10; i++) {
    for (long long j = 0; j < 10; j++) {
      best(i, j, i);
    }
  }
  cout << st.size();
  return 0;
}
