import sys

readline = sys.stdin.buffer.readline

readlines = sys.stdin.buffer.readlines

read = sys.stdin.buffer.read

sys.setrecursionlimit(10 ** 7)

INF = float('inf')



N = int(eval(input()))

komoji = [chr(i) for i in range(97, 97+26)]



ans = ""

# print(N)

while True:

    q, mod = divmod(N, 26)

    ans = komoji[mod-1] + ans

    # print("q: {} mod: {} ans: {}".format(q, mod, ans))

    if mod == 0:

        q = q - 1

    N = q

    if q == 0:

        break

print(ans)
import sys

readline = sys.stdin.buffer.readline

readlines = sys.stdin.buffer.readlines

read = sys.stdin.buffer.read

sys.setrecursionlimit(10 ** 7)

INF = float('inf')



N = int(eval(input()))

komoji = [chr(i) for i in range(97, 97+26)]



ans = ""

# print(N)

while True:

    N -= 1

    q, mod = divmod(N, 26)

    ans = komoji[mod] + ans

    # print("q: {} mod: {} ans: {}".format(q, mod, ans))

    if q == 0:

        break

    N = q

print(ans)
import sys

readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines
read = sys.stdin.buffer.read
sys.setrecursionlimit(10**7)
INF = float("inf")
N = int(eval(input()))
komoji = [chr(i) for i in range(97, 97 + 26)]
ans = ""
# print(N)
while True:
    q, mod = divmod(N, 26)
    ans = komoji[mod - 1] + ans
    # print("q: {} mod: {} ans: {}".format(q, mod, ans))
    if mod == 0:
        q = q - 1
    N = q
    if q == 0:
        break
print(ans)

import sys

readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines
read = sys.stdin.buffer.read
sys.setrecursionlimit(10**7)
INF = float("inf")
N = int(eval(input()))
komoji = [chr(i) for i in range(97, 97 + 26)]
ans = ""
# print(N)
while True:
    N -= 1
    q, mod = divmod(N, 26)
    ans = komoji[mod] + ans
    # print("q: {} mod: {} ans: {}".format(q, mod, ans))
    if q == 0:
        break
    N = q
print(ans)

+    N -= 1 -    ans = komoji[mod - 1] + ans +    ans = komoji[mod] + ans -    if mod == 0: -        q = q - 1 -    N = q +    N = q