from collections import deque def solve(): N = int(input()) if N<=100: return N//3-3 ans = 30 d = deque(['0','3','6','9']) while len(d): s = d.popleft() if s[0]!='0': n = int(s) if n>100 and n<=N: ans += 1 if len(s)<=len(str(N)): for l in ['0','3','6','9']: d.append(l+s) return ans print(solve())