#include using namespace std; int main(){ int N; cin >> N; int ans = 0; int D = to_string(N).size(); for (int i = 0; i < (1 << (D * 2)); i++){ string S; for (int j = 0; j < D; j++){ int tmp = i >> (j * 2) & 3; S += tmp * 3 + '0'; } if (S <= to_string(N)){ while (!S.empty() && S[0] == '0'){ S.erase(S.begin()); } if (S.size() > 1){ ans++; } } } for (int i = 1; i <= 9; i++){ for (int j = 0; j <= 9; j++){ if ((i * 10 + j) % 3 == 0 && !(i % 3 == 0 && j % 3 == 0) && i * 10 + j <= N){ ans++; } } } cout << ans << endl; }