from itertools import * N = int(input()) M = 30 comb = [[1] * (M + 1) for _ in range(M)] for i in range(1, M): for j in range(1, i): comb[i][j] = comb[i-1][j] + comb[i-1][j-1] for i in range(2, M): cnt = 0 for j in range(2, i + 1, 3): cnt += comb[i][j] if N > cnt: N -= cnt else: ans = [] for j in range(2, M, 3): for t in combinations(range(i), j): temp = 0 for p in t: temp |= 1 << p ans.append(temp) ans.sort() ans2 = [] for n in range(i): if (ans[N-1] >> n) & 1: ans2.append(5) else: ans2.append(3) ans2.reverse() ans2.append(5) print(*ans2, sep="") exit()