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

def MI(): return list(map(int, input().split()))

def LI(): return list(map(int, input().split()))

ans=''

N=II()

N-=1

for l in range(1,15):

  if N>=26**l:

    N-=26**l

    continue

  for i in range(l):

    d=N%26

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

    N//=26

  ans=ans[::-1]

  break

print(ans)

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

N=II()

N-=1

i=1

while N>=(26**i):

  N-=26**i

  i+=1

ans=''

for j in range(i):

  q,mod=divmod(N,26)

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

  N=q

ans=ans[::-1]

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


def MI():
    return list(map(int, input().split()))


def LI():
    return list(map(int, input().split()))


ans = ""
N = II()
N -= 1
for l in range(1, 15):
    if N >= 26**l:
        N -= 26**l
        continue
    for i in range(l):
        d = N % 26
        ans += chr(d + ord("a"))
        N //= 26
    ans = ans[::-1]
    break
print(ans)

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


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

-def MI(): -    return list(map(int, input().split())) - - -def LI(): -    return list(map(int, input().split())) - - -ans = "" -for l in range(1, 15): -    if N >= 26**l: -        N -= 26**l -        continue -    for i in range(l): -        d = N % 26 -        ans += chr(d + ord("a")) -        N //= 26 -    ans = ans[::-1] -    break +i = 1 +while N >= (26**i): +    N -= 26**i +    i += 1 +ans = "" +for j in range(i): +    q, mod = divmod(N, 26) +    ans = ans + chr(mod + ord("a")) +    N = q +ans = ans[::-1]