def C(n, r): if r>n: return 0 return fact[n]//fact[r]//fact[n-r] def F(n): res = 0 for i in range(2, n, 3): res += C(n-1, i) return res def G(): res = 0 c = ans.count('5') l = len(ans) if c%3==0: s = 2 elif c%3==1: s = 1 else: s = 0 for i in range(s, L-l-1, 3): res += C(L-l-2, i) return res N = int(input()) fact = [1] for i in range(1, 30): fact.append(fact[-1]*i) i = 3 while True: f = F(i) if N-f>0: N -= f i += 1 else: break L = i ans = '' for i in range(L): g = G() if N-g>0: ans += '5' N -= g else: ans += '3' print(ans)