def II(): return int(eval(input()))

ans=''

N=II()

N-=1

i=1

while N-26**i>=0:  

  N-=26**i

  i+=1#26のべき乗倍を引いてからインクリメント

for j in range(i):

  div,mod=divmod(N,26)

  ans+=chr(mod+ord('a'))

  N=div

ans=ans[::-1]

print(ans)
def II(): return int(eval(input()))

N=II()

N-=1

i=1

ans=''

while N-26**i>=0:

  N-=26**i

  i+=1

for j in range(i):

  div,mod=divmod(N,26)

  ans+=chr(mod+ord('a'))

  N=div

ans=ans[::-1]

print(ans)
def II():
    return int(eval(input()))


ans = ""
N = II()
N -= 1
i = 1
while N - 26**i >= 0:
    N -= 26**i
    i += 1  # 26のべき乗倍を引いてからインクリメント
for j in range(i):
    div, mod = divmod(N, 26)
    ans += chr(mod + ord("a"))
    N = div
ans = ans[::-1]
print(ans)

def II():
    return int(eval(input()))


N = II()
N -= 1
i = 1
ans = ""
while N - 26**i >= 0:
    N -= 26**i
    i += 1
for j in range(i):
    div, mod = divmod(N, 26)
    ans += chr(mod + ord("a"))
    N = div
ans = ans[::-1]
print(ans)

-ans = "" +ans = "" -    i += 1  # 26のべき乗倍を引いてからインクリメント +    i += 1