#include <bits/stdc++.h>
using namespace std;
int n, m = 0;
map<int, bool> mp;
void BT(int i, int j, long long k) {
  if (k > 0 && k <= n && mp.find(k) == mp.end()) {
    m++;
    mp[k] = true;
  }
  if (k < n) {
    if (i + k > 0) BT(i, j, k * 10 + i);
    if (i != j && j + k > 0) BT(i, j, k * 10 + j);
  }
}
int main() {
  cin >> n;
  for (int i = 0; i < 10; i++)
    for (int j = 0; j < 10; j++) BT(i, j, 0);
  cout << m << endl;
}
