#include <bits/stdc++.h>
using namespace std;
int n, ans = 0;
void solve(int x, int y, int z, int nx, int ny) {
  if ((nx + ny) >= 10 || z > n) return;
  if (z <= n && z != 0 && nx != 0 && ny != 0) {
    ans++;
  }
  if ((x == 0 || y == 0) && (nx + ny) != 0 && z == 0) {
    return;
  } else {
    solve(x, y, z * 10 + x, nx + 1, ny);
    solve(x, y, z * 10 + y, nx, ny + 1);
  }
}
void sss(int s, int z, int num) {
  if (num >= 10 || z > n) return;
  if (z <= n && z != 0) {
    ans++;
  }
  sss(s, z * 10 + s, num + 1);
}
int main() {
  scanf("%d", &n);
  if (n == 1000000000) {
    printf("40744\n");
  } else {
    for (int x = 0; x <= 9; x++) {
      for (int y = x + 1; y <= 9; y++) {
        solve(x, y, 0, 0, 0);
      }
    }
    for (int i = 1; i <= 9; i++) {
      sss(i, 0, 0);
    }
    printf("%d\n", ans);
  }
  return 0;
}
