import math





def nextString(text, p):

    if text[p] != 'z':

        text[p] = chr(ord(text[p])+1)

        return text

    else:

        text[p] = 'a'

        nextString(text, p - 1)



n = int(eval(input()))

base = 26



digit = math.floor(math.log(1+(base-1)*n, base))



position = int(n - (base**digit - 1) / (base  - 1))



txt = 'a' * digit



txt = list(txt)



for i in range(digit):

    txt[digit - i - 1] = chr(ord(txt[digit - i - 1])+(position % base))

    position = position // base



print((''.join(txt)))

import math



n = int(eval(input()))

base = 26



digit = math.floor(math.log(1+(base-1)*n, base))

position = int(n - (base**digit - 1) / (base  - 1))



txt = 'a' * digit



txt = list(txt)



for i in range(digit):

    txt[digit - i - 1] = chr(ord(txt[digit - i - 1])+(position % base))

    position = position // base



print((''.join(txt)))
import math


def nextString(text, p):
    if text[p] != "z":
        text[p] = chr(ord(text[p]) + 1)
        return text
    else:
        text[p] = "a"
        nextString(text, p - 1)


n = int(eval(input()))
base = 26
digit = math.floor(math.log(1 + (base - 1) * n, base))
position = int(n - (base**digit - 1) / (base - 1))
txt = "a" * digit
txt = list(txt)
for i in range(digit):
    txt[digit - i - 1] = chr(ord(txt[digit - i - 1]) + (position % base))
    position = position // base
print(("".join(txt)))

import math

n = int(eval(input()))
base = 26
digit = math.floor(math.log(1 + (base - 1) * n, base))
position = int(n - (base**digit - 1) / (base - 1))
txt = "a" * digit
txt = list(txt)
for i in range(digit):
    txt[digit - i - 1] = chr(ord(txt[digit - i - 1]) + (position % base))
    position = position // base
print(("".join(txt)))

- - -def nextString(text, p): -    if text[p] != "z": -        text[p] = chr(ord(text[p]) + 1) -        return text -    else: -        text[p] = "a" -        nextString(text, p - 1) -