# import sys

# import math #sqrt,gcd,pi

# import decimal

# import queue # queue

# import bisect

# import heapq # priolity-queue

# import time

# from itertools import product,permutations,\

#     combinations,combinations_with_replacement

# 重複あり順列、順列、組み合わせ、重複あり組み合わせ

# import collections # deque

# from operator import itemgetter,mul

# from fractions import Fraction

# from functools import reduce



mod = int(1e9+7)

# mod = 998244353

INF = 1<<50



def readInt():

    return list(map(int,input().split()))



def main():

    n = int(eval(input()))

    s = []

    while n!=0:

        if n<=26:

            s.append(n)

            n = 0

        else:

            x = n % 26

            if x==0:

                x = 26

            s.append(x)

            n = (n-1) // 26

    t = []

    for i in range(len(s)-1,-1,-1):

        t.append(chr(s[i]+96))

    print((''.join(t)))

    return



if __name__=='__main__':

    main()

n = int(eval(input()))

s = []

while n!=0:

    if n<=26:

        s.append(n)

        n = 0

    else:

        x = n % 26

        if not x:

            x = 26

        s.append(x)

        n = (n - 1) // 26

t = []

for i in range(len(s)-1,-1,-1):

    t.append(chr(s[i]+96))

print((''.join(t)))
# import sys
# import math #sqrt,gcd,pi
# import decimal
# import queue # queue
# import bisect
# import heapq # priolity-queue
# import time
# from itertools import product,permutations,\
#     combinations,combinations_with_replacement
# 重複あり順列、順列、組み合わせ、重複あり組み合わせ
# import collections # deque
# from operator import itemgetter,mul
# from fractions import Fraction
# from functools import reduce
mod = int(1e9 + 7)
# mod = 998244353
INF = 1 << 50


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


def main():
    n = int(eval(input()))
    s = []
    while n != 0:
        if n <= 26:
            s.append(n)
            n = 0
        else:
            x = n % 26
            if x == 0:
                x = 26
            s.append(x)
            n = (n - 1) // 26
    t = []
    for i in range(len(s) - 1, -1, -1):
        t.append(chr(s[i] + 96))
    print(("".join(t)))
    return


if __name__ == "__main__":
    main()

n = int(eval(input()))
s = []
while n != 0:
    if n <= 26:
        s.append(n)
        n = 0
    else:
        x = n % 26
        if not x:
            x = 26
        s.append(x)
        n = (n - 1) // 26
t = []
for i in range(len(s) - 1, -1, -1):
    t.append(chr(s[i] + 96))
print(("".join(t)))

-# import sys -# import math #sqrt,gcd,pi -# import decimal -# import queue # queue -# import bisect -# import heapq # priolity-queue -# import time -# from itertools import product,permutations,\ -#     combinations,combinations_with_replacement -# 重複あり順列、順列、組み合わせ、重複あり組み合わせ -# import collections # deque -# from operator import itemgetter,mul -# from fractions import Fraction -# from functools import reduce -mod = int(1e9 + 7) -# mod = 998244353 -INF = 1 << 50 - - -def readInt(): -    return list(map(int, input().split())) - - -def main(): -    n = int(eval(input())) -    s = [] -    while n != 0: -        if n <= 26: -            s.append(n) -            n = 0 -        else: -            x = n % 26 -            if x == 0: -                x = 26 -            s.append(x) -            n = (n - 1) // 26 -    t = [] -    for i in range(len(s) - 1, -1, -1): -        t.append(chr(s[i] + 96)) -    print(("".join(t))) -    return - - -if __name__ == "__main__": -    main() +n = int(eval(input())) +s = [] +while n != 0: +    if n <= 26: +        s.append(n) +        n = 0 +    else: +        x = n % 26 +        if not x: +            x = 26 +        s.append(x) +        n = (n - 1) // 26 +t = [] +for i in range(len(s) - 1, -1, -1): +    t.append(chr(s[i] + 96)) +print(("".join(t)))