import sys



sys.setrecursionlimit(10**7)

def I(): return int(sys.stdin.readline().rstrip())

def LI(): return list(map(int,sys.stdin.readline().rstrip().split()))  #空白あり

def LI2(): return list(map(int,sys.stdin.readline().rstrip()))  #空白なし

def S(): return sys.stdin.readline().rstrip()

def LS(): return list(sys.stdin.readline().rstrip().split())  #空白あり

def LS2(): return list(sys.stdin.readline().rstrip())  #空白なし



N = I()

A = [0]

for i in range(1,13):

    A.append(A[-1]+26**i)



ANS = []

for i in range(1,12):

    if N > A[i]:

        continue

    else:

        a = N-A[i-1]-1

        for j in range(i):

            ANS.append(a % 26)

            a = (a-a%26)//26

        break



ANS.reverse()



for i in range(len(ANS)):

    ANS[i] = chr(ANS[i]+97)



print((''.join(ANS)))
import sys



def I(): return int(sys.stdin.readline().rstrip())



N = I()

A = [0]

for i in range(1,13):

    A.append(A[-1]+26**i)



ANS = []

for i in range(1,12):

    if N > A[i]:

        continue

    else:

        a = N-A[i-1]-1

        for j in range(i):

            ANS.append(a % 26)

            a = (a - a%26)//26

        break



ANS.reverse()



for i in range(len(ANS)):

    ANS[i] = chr(ANS[i]+97)



print((''.join(ANS)))
import sys

sys.setrecursionlimit(10**7)


def I():
    return int(sys.stdin.readline().rstrip())


def LI():
    return list(map(int, sys.stdin.readline().rstrip().split()))  # 空白あり


def LI2():
    return list(map(int, sys.stdin.readline().rstrip()))  # 空白なし


def S():
    return sys.stdin.readline().rstrip()


def LS():
    return list(sys.stdin.readline().rstrip().split())  # 空白あり


def LS2():
    return list(sys.stdin.readline().rstrip())  # 空白なし


N = I()
A = [0]
for i in range(1, 13):
    A.append(A[-1] + 26**i)
ANS = []
for i in range(1, 12):
    if N > A[i]:
        continue
    else:
        a = N - A[i - 1] - 1
        for j in range(i):
            ANS.append(a % 26)
            a = (a - a % 26) // 26
        break
ANS.reverse()
for i in range(len(ANS)):
    ANS[i] = chr(ANS[i] + 97)
print(("".join(ANS)))

import sys


def I():
    return int(sys.stdin.readline().rstrip())


N = I()
A = [0]
for i in range(1, 13):
    A.append(A[-1] + 26**i)
ANS = []
for i in range(1, 12):
    if N > A[i]:
        continue
    else:
        a = N - A[i - 1] - 1
        for j in range(i):
            ANS.append(a % 26)
            a = (a - a % 26) // 26
        break
ANS.reverse()
for i in range(len(ANS)):
    ANS[i] = chr(ANS[i] + 97)
print(("".join(ANS)))

- -sys.setrecursionlimit(10**7) - - -def LI(): -    return list(map(int, sys.stdin.readline().rstrip().split()))  # 空白あり - - -def LI2(): -    return list(map(int, sys.stdin.readline().rstrip()))  # 空白なし - - -def S(): -    return sys.stdin.readline().rstrip() - - -def LS(): -    return list(sys.stdin.readline().rstrip().split())  # 空白あり - - -def LS2(): -    return list(sys.stdin.readline().rstrip())  # 空白なし