#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define endl '\n'
ll N = 1e9+7;
ll oo =1e13;
const ll maxx = 1000000 + 3;
ll n,k,q,x,y,z,l,r,mid,ans;
void go(ll num , set<ll>v) {
if (num > n)return;
ans++;
for (ll j =0;j<10;j++) {
set<ll>nv=v;
nv.insert(j);
if (nv.size()>2) {
continue;
}
go(num*10+j,nv);
}
}
void solve() {
cin>>n;
for (ll i =1 ;i <10;i++) {
set<ll>v;
v.insert(i);
go(i,v);
}
cout<<ans<<endl;
}
int main() {
ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
ll t=1 ;
// cin >>t;
while (t--) {
ans=0;
solve();
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZW5kbCAnXG4nCmxsIE4gPSAxZTkrNzsKbGwgb28gPTFlMTM7CmNvbnN0IGxsIG1heHggPSAxMDAwMDAwICsgMzsKbGwgbixrLHEseCx5LHosbCxyLG1pZCxhbnM7CgoKdm9pZCBnbyhsbCBudW0gLCBzZXQ8bGw+dikgewogICAgaWYgKG51bSA+IG4pcmV0dXJuOwogICAgICAgIGFucysrOwogICAgZm9yIChsbCBqID0wO2o8MTA7aisrKSB7CiAgICAgICAgc2V0PGxsPm52PXY7CiAgICAgICAgbnYuaW5zZXJ0KGopOwogICAgICAgIGlmIChudi5zaXplKCk+MikgewogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgZ28obnVtKjEwK2osbnYpOwogICAgICAKICAgIH0KfQp2b2lkIHNvbHZlKCkgewogICAgY2luPj5uOwogICAgZm9yIChsbCBpID0xIDtpIDwxMDtpKyspIHsKICAgICAgICBzZXQ8bGw+djsKCiAgICAgICAgdi5pbnNlcnQoaSk7CiAgICAgICAgZ28oaSx2KTsKICAgICAgICAKICAgIH0KICAgIGNvdXQ8PGFuczw8ZW5kbDsKfQppbnQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKICAgIGxsIHQ9MSA7CiAgICAvLyBjaW4gPj50OwogICAgd2hpbGUgKHQtLSkgewogICAgICAgIGFucz0wOwogICAgICAgIHNvbHZlKCk7CiAgICB9Cn0=