#include using namespace std; int n; set st; void dfs(int i, int cur) { if (i == 10) return; if (cur > 100) st.insert(cur); dfs(i + 1, cur * 10); dfs(i + 1, cur * 10 + 3); dfs(i + 1, cur * 10 + 6); dfs(i + 1, cur * 10 + 9); } bool cond(int i) { return (i <= n); } int main() { cin >> n; // 2桁の場合 for (int i = 12; i < 100; i += 3) { st.insert(i); } // 3桁以上の場合 dfs(0, 0); cout << count_if(st.begin(), st.end(), cond) << endl; return 0; }