from bisect import bisect_left, bisect_right def cnt_ika(li, x): # x 以下の要素数 return bisect_right(li, x) N = int(input()) futaketa = [i for i in range(12, 100, 3)] if N < 300: ans = cnt_ika(futaketa, N) exit(print(ans)) memo = [] flag = True for s in str(N): if flag: if int(s)%3 == 0: memo.append(str(int(s)//3)) else: flag = False memo.append(str(int(s)//3)) else: # 3 を突っ込む memo.append('3') # memo を4進数として見た時に何番目か? number = int(''.join(memo), 4) ans = 30 + (number - 15) print(ans)