ans = []

n = int(eval(input()))

while n > 0:

    i = n % 26

    if i == 0:

        i += 26

    ans.append(chr(i + 96))

    if n % 26 == 0:

        n = n // 26 - 1

    else:

        n //= 26

ans.reverse()

print(("".join(ans)))
n = int(eval(input()))

keta = 1

end = 0

while True:

    order = n - end

    end += 26**keta

    if n <= end:

        break

    keta += 1

order -= 1

ans = []

for i in range(keta):

    ans.append(chr(order%26 + 97))

    order //= 26

ans.reverse()

print(("".join(ans)))
ans = []
n = int(eval(input()))
while n > 0:
    i = n % 26
    if i == 0:
        i += 26
    ans.append(chr(i + 96))
    if n % 26 == 0:
        n = n // 26 - 1
    else:
        n //= 26
ans.reverse()
print(("".join(ans)))

n = int(eval(input()))
keta = 1
end = 0
while True:
    order = n - end
    end += 26**keta
    if n <= end:
        break
    keta += 1
order -= 1
ans = []
for i in range(keta):
    ans.append(chr(order % 26 + 97))
    order //= 26
ans.reverse()
print(("".join(ans)))

+n = int(eval(input())) +keta = 1 +end = 0 +while True: +    order = n - end +    end += 26**keta +    if n <= end: +        break +    keta += 1 +order -= 1 -n = int(eval(input())) -while n > 0: -    i = n % 26 -    if i == 0: -        i += 26 -    ans.append(chr(i + 96)) -    if n % 26 == 0: -        n = n // 26 - 1 -    else: -        n //= 26 +for i in range(keta): +    ans.append(chr(order % 26 + 97)) +    order //= 26