#include <bits/stdc++.h>
using namespace std;
#define FAST ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
typedef long long ll;
set<ll> lucky_nums;
void generate_lucky(ll number,ll x,ll y,ll n){
if(number > n) return;
if(number>0){
lucky_nums.insert(number);
}
long long a = number * 10 + x;
long long b = number * 10 + y;
if(a != number && a <= n)
generate_lucky(a,x,y,n);
if(b != number && b <= n)
generate_lucky(b,x,y,n);
};
int main() {
FAST
ll n;
cin >> n;
for(int x = 0;x<10;x++){
for(int y = x; y<10;y++){
generate_lucky(0, x, y, n);
}
}
cout << lucky_nums.size() << "\n";
// system("pause");
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgRkFTVCBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKdHlwZWRlZiBsb25nIGxvbmcgbGw7CiAKIApzZXQ8bGw+IGx1Y2t5X251bXM7CnZvaWQgZ2VuZXJhdGVfbHVja3kobGwgbnVtYmVyLGxsIHgsbGwgeSxsbCBuKXsKICAgIAogICAgaWYobnVtYmVyID4gbikgcmV0dXJuOwogICAgCiAgICBpZihudW1iZXI+MCl7CiAgICAgICAgbHVja3lfbnVtcy5pbnNlcnQobnVtYmVyKTsKICAgIH0KIAogICAgbG9uZyBsb25nIGEgPSBudW1iZXIgKiAxMCArIHg7CiAgICBsb25nIGxvbmcgYiA9IG51bWJlciAqIDEwICsgeTsKIAogICAgaWYoYSAhPSBudW1iZXIgJiYgYSA8PSBuKQogICAgICAgIGdlbmVyYXRlX2x1Y2t5KGEseCx5LG4pOwogCiAgICBpZihiICE9IG51bWJlciAmJiBiIDw9IG4pCiAgICAgICAgZ2VuZXJhdGVfbHVja3koYix4LHksbik7CiAKfTsKIAogCmludCBtYWluKCkgewogICAgRkFTVAogICAgbGwgbjsKICAgIGNpbiA+PiBuOwogICAgZm9yKGludCB4ID0gMDt4PDEwO3grKyl7CiAgICAgICAgZm9yKGludCB5ID0geDsgeTwxMDt5KyspewogICAgICAgICAgICBnZW5lcmF0ZV9sdWNreSgwLCB4LCB5LCBuKTsKICAgICAgICB9CiAgICB9CiAKICAgIGNvdXQgPDwgbHVja3lfbnVtcy5zaXplKCkgPDwgIlxuIjsKICAgIC8vIHN5c3RlbSgicGF1c2UiKTsKICAgIHJldHVybiAwOwp9