import sys



sys.setrecursionlimit(10 ** 8)

ini = lambda: int(sys.stdin.readline())

inm = lambda: map(int, sys.stdin.readline().split())

inl = lambda: list(inm())

ins = lambda: sys.stdin.readline().rstrip()

debug = lambda *a, **kw: print(*a, **kw, file=sys.stderr)



N = ini()





def solve():

    k = 26

    a = k

    p = k

    l = 1

    while a < N:

        p *= 26

        a += p

        l += 1

    b = 1

    x = N - 1

    name = [None] * l

    for i in range(l):

        c = x % 26

        name[l - 1 - i] = chr(ord("a") + c)

        x //= 26

        x -= 1

    return "".join(name)





print(solve())

import sys



sys.setrecursionlimit(10 ** 8)

ini = lambda: int(sys.stdin.readline())

inm = lambda: map(int, sys.stdin.readline().split())

inl = lambda: list(inm())

ins = lambda: sys.stdin.readline().rstrip()

debug = lambda *a, **kw: print(*a, **kw, file=sys.stderr)



N = ini()





def solve():

    k = 26

    a = k

    p = k

    l = 1

    while a < N:

        p *= 26

        a += p

        l += 1

    x = N - (a - p) - 1

    name = [None] * l

    for i in range(l):

        c = x % 26

        name[i] = chr(ord("a") + c)

        x //= 26

    return "".join(reversed(name))





print(solve())

import sys

sys.setrecursionlimit(10**8)
ini = lambda: int(sys.stdin.readline())
inm = lambda: map(int, sys.stdin.readline().split())
inl = lambda: list(inm())
ins = lambda: sys.stdin.readline().rstrip()
debug = lambda *a, **kw: print(*a, **kw, file=sys.stderr)
N = ini()


def solve():
    k = 26
    a = k
    p = k
    l = 1
    while a < N:
        p *= 26
        a += p
        l += 1
    b = 1
    x = N - 1
    name = [None] * l
    for i in range(l):
        c = x % 26
        name[l - 1 - i] = chr(ord("a") + c)
        x //= 26
        x -= 1
    return "".join(name)


print(solve())

import sys

sys.setrecursionlimit(10**8)
ini = lambda: int(sys.stdin.readline())
inm = lambda: map(int, sys.stdin.readline().split())
inl = lambda: list(inm())
ins = lambda: sys.stdin.readline().rstrip()
debug = lambda *a, **kw: print(*a, **kw, file=sys.stderr)
N = ini()


def solve():
    k = 26
    a = k
    p = k
    l = 1
    while a < N:
        p *= 26
        a += p
        l += 1
    x = N - (a - p) - 1
    name = [None] * l
    for i in range(l):
        c = x % 26
        name[i] = chr(ord("a") + c)
        x //= 26
    return "".join(reversed(name))


print(solve())

-    b = 1 -    x = N - 1 +    x = N - (a - p) - 1 -        name[l - 1 - i] = chr(ord("a") + c) +        name[i] = chr(ord("a") + c) -        x -= 1 -    return "".join(name) +    return "".join(reversed(name))