# AtCoder Beginner Contest 114 C - 755 # https://atcoder.jp/contests/abc114/tasks/abc114_c # tag: BFS, DFS, N進法 # 3, 5, 7 を含む数を BFS もしくは DFS にて生成していき、 # 条件に合うものをカウントする def main(): N = int(input()) result = 0 # 探索用キューは、(現在の値, 357の出現チェック) # 357出現チェックについては、ビット管理とする queue = [(0, 0)] while queue: now, appeared = queue.pop() if appeared == 7: result += 1 # 数字の末尾に 3, 5, 7 を加え、出現チェックを更新しつつ # キューに入れる for i, add in enumerate([3, 5, 7]): nxt = now * 10 + add appeared_nxt = appeared | 1< N: break else: if all(check): result += 1 continue break print(result) # main2()