peterverebics/CodeNet_Python_118 huggingface dataset:
K1 = 1
K2 = 27
K3 = 703
K4 = 18279
K5 = 475255
alpha = "abcdefghijklmnopqrstuvwxyz"

n = int(input())

a = ""

def func(n,k):
	global a
	a=alpha[n%26]+a
	if(k>1):
		func(n//26,k-1)

sum = 0
for i in range(1,15):
	sumb = sum
	sum += 26**i
	if(sum >= n):
		#print(n-sumb-1,i)
		func((n-sumb-1),i)
		break
print(a)
import string
# string.ascii_lowercase

N = int(input()) - 1
strs= [string.ascii_lowercase[N % 26]]

while(N >= 26):
    N //= 26
    N -= 1
    strs.append(string.ascii_lowercase[N % 26])

for s in strs[::-1]:
    print(s, end='')
print()
n = int(input())
ans = ""
while n != 0:
    n -= 1
    ans += chr(97 + n%26)
    n = n//26
for c in reversed(ans):
    print(c, end="")
N = int(input())

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

E = []
while N>=1:
  N -= 1
  E.append( int(N%26) )
  N = N/26

print("".join(reversed([alphabets[i] for i in E ] ))  )
n = int(input())

for k in range(20):
    if (26**k-1)//25<=n<(26**(k+1)-1)//25:
        n-=26*(26**(k-1)-1)//25
        break

ans=''
for i in range(k):
        ans+='abcdefghijklmnopqrstuvwxyz'[((n-1)//26**i)%26]

print(ans[::-1])
n=int(input())
num=26
data=[]
while num<=n:
    if n%num==0:
        data.append("z")
        n=int(n/num-1)
    else:
        data.append(chr(n%26+96))
        n=int(n/num)
if n!=0:
    data.append(chr(n+96))
data="".join(data)
print(data[::-1])
n=int(input())
l=list('abcdefghijklmnopqrstuvwxyz')
s=[]#格納よう
i=1#桁数
while n>26**i:
  n-=26**i
  i+=1
n-=1
while i!=0:
  p=n//26**(i-1)
  n=n%26**(i-1)
  s.append(l[p])
  i-=1

print(''.join(s))
def num2alpha(num):
    if num<=26:
        return chr(64+num)
    elif num%26==0:
        return num2alpha(num//26-1)+chr(90)
    else:
        return num2alpha(num//26)+chr(64+num%26)
      
a = int(input())
print(num2alpha(a).lower())
from sys import stdin
from decimal import Decimal

def main():

    input = stdin.readline

    N = int(input())

    alphabet = "abcdefghijklmnopqrstuvwxyz"

    ans = ""
    flag = True
    while flag:
        if N <= 26:
            flag = False

        ans = alphabet[(N-1)%26] + ans

        N = (N-1) // 26

    print(ans)

if __name__ == "__main__":
    main()
N = int(input())
ans = ""
while N > 0:
  N -= 1
  n = N % 26
  ans = chr(ord("a") + n) + ans
  N //= 26

print(ans)
N = int(input())
l = []
while N:
    N -= 1
    l.append(chr(97+(N % 26)))
    N //= 26

print("".join(l[::-1]))
def f(l, n):
	ans = []
	for i in range(l):
	  ans.append(chr(n % 26 + ord('a')))
	  n//=26
	print(''.join(reversed(ans)))

n = int(input())
val = 26
adds = 0
lastval = 0
cnt = 1
while val < n:
  lastval = val
  val = (val*26)+26
  cnt+=1
f(cnt, n-lastval-1)
N = int(input())
S = "_abcdefghijklmnopqrstuvwxyz"
ans = ""
while N > 0:
    if N%26 != 0:
        ans += S[N%26]
    else:
        ans += "z"
        N -= 1
    N = N//26

print(ans[::-1])
n=int(input())
ans=''
while n > 0 :
    n-=1
    ans+=chr(ord('a')+n%26)
    n//=26

print(ans[::-1])
N=int(input())
n=0
for i in range(1,15):
   if N<=(n+26**i):
       break
   else:
       n+=26**i
#print(i)

N-=n
N-=1
#print(N)
A=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]
ans=""
for j in range(i):
    ans+=A[N//(26**(i-1-j))]
    N%=(26**(i-1-j))
print(ans)
N = int(input())
res = []
ls = 'abcdefghijklmnopqrstuvwxyz'
while N>0:
    tmp = (N-1)%26
    N = (N-1)//26
    res.append(ls[tmp])
res = res[::-1]
print(''.join(res))
N = int(input())
alphabet = list("abcdefghijklmnopqrstuvwxyz")
res = ""

while (N > 0):
    N -= 1
    num = int(N % 26)
    res += alphabet[num]
    N /= 26
    N = N // 1

print(res[::-1])
n = int(input())

out = ""
while n > 0:
    n -= 1
    out += chr(ord('a') + n % 26)
    n //= 26

print(out[::-1])
import math


def solve():
    N = int(input())
    lowercase = 'abcdefghijklmnopqrstuvwxyz'
    ans = ''
    for i in range(len(str(N))):
        if N == 0:
            break
        j = N % 26
        N -= 1
        N = N // 26
        ans = lowercase[j - 1] + ans
    print(ans)


if __name__ == '__main__':
    solve()
n = int(input())

def num2alpha(num):
    if num<=26:
        return chr(64+num)
    elif num%26==0:
        return num2alpha(num//26-1)+chr(90)
    else:
        return num2alpha(num//26)+chr(64+num%26)
      
print(num2alpha(n).lower())
import sys
input = sys.stdin.readline
N = int(input())
res = ""
while N:
  N -= 1
  res += chr(N % 26 + ord("a"))
  N //= 26
print(res[: : -1])
def num2alpha(num):
    if num<=26:
        return chr(64+num)
    elif num%26==0:
        return num2alpha(num//26-1)+chr(90)
    else:
        return num2alpha(num//26)+chr(64+num%26)

if __name__ == '__main__':
    n = int(input())
    print(num2alpha(n).lower())
n = int(input())

def num2alpha(num):
    if num<=26:
        return chr(64+num)
    elif num%26==0:
        return num2alpha(num//26-1)+chr(90)
    else:
        return num2alpha(num//26)+chr(64+num%26)
x = num2alpha(n)
print(x.lower())
def f(n):
    a = []
    while n > 0:
        n -= 1
        a.append(chr(ord('a') + n % 26))
        n //= 26
    return a

if __name__ == "__main__":
    n = int(input())
    a = f(n)
    print(''.join(a[::-1]))
n = int(input())
s = [chr(i) for i in range(97, 97+26)]

out = ''
tmp = n
r = 1
c = 0
count = 1
while True:
    r *= 26
    # c += r
    # print(c)
    if tmp > c+r:
        c += r
        count += 1
    else:
        break

tmp = n - c - 1
# print(tmp)
# out = s[tmp%27-1]
# tmp = int(tmp/27)
while tmp>0:
    out = s[tmp%26]+out
    tmp = int(tmp/26)
# out = s[tmp%26-1]+out
for _ in range(count-len(out)):
    out = 'a'+out

print(out)
n = int(input())


def num2alpha(num):
    if num <= 26:
        return chr(96 + num)
    elif num % 26 == 0:
        return num2alpha(num // 26 - 1) + chr(122)
    else:
        return num2alpha(num // 26) + chr(96 + num % 26)


print(num2alpha(n))
s='abcdefghijklmnopqrstuvwxyz'
n=int(input())
res=[]
n=n-1
while n>=0:
    res.append(n%26)
    n=n//26
    n=n-1
    #print(n,res[-1])
ans=''
for j in range(len(res)-1,-1,-1):
    ans=ans+s[res[j]]
print(ans)
n = int(input())
alpha = "abcdefghijklmnopqrstuvwxyz"
tmp = [26 ** i for i in range(1, 20)]
lst = [0]
for num in tmp:
    lst.append(lst[-1] + num)
for i, num in enumerate(lst):
    if num >= n:
        p = i
        break
ans = list("a" * p)
n -= lst[p - 1] + 1
for i in range(p - 1, -1, -1):
    if n == 0:
        break
    pos = n % 26
    n //= 26
    ans[i] = alpha[pos]
print("".join(ans))
N = int(input())
name = []

while N>0:
    name.append(chr(ord('a')+(N-1)%26))
    N = (N - 1) // 26

name.reverse()
print("".join(name))
n = int(input())

def h(n):
    if int(n/26):
        if n % 26 == 0:
            return h(int(n/26) - 1) + 'z'
        else:
            return h(int(n/26)) + chr(96 + (n % 26))
    else:
        if n > 0:
            return chr(96 + n)
        else:
            return ''

print(h(n))
n=int(input())

abc='abcdefghijklmnopqrstuvwxyz'

ans=''
while n!=0:
  q=n%26
  ans+=abc[q-1]

  if q==0:
    n-=1

  n//=26

print(ans[::-1])
N = int(input())

S = [chr(i) for i in range(ord("a"), ord("z")+1)]

l = []
while N > 0:
    N -= 1
    r = N % 26
    l.append(r)
    N //= 26

ans = ""
for a in l:
    ans = S[a] + ans

print(ans)
N = int(input())
result = ""
while N>0:
    index = (N-1)%26
    result +=chr(index+ord('a'))
    N = (N-1)//26
print(result[::-1])
n=int(input())
t="abcdefghijklmnopqrstuvwxyz"
def f(n):
  if n<=26:return t[n-1]
  return f((n-1)//26)+t[(n-1)%26]
print(f(n))
N = int(input()) - 1
rst = ''
for i in range(1, 10 ** 15):
    if N >= 26 ** i:
        N -= 26 ** i
        continue
    for j in range(i):
        rst += chr(ord('a') + N % 26)
        N //= 26
    print(rst[::-1])
    break
import sys

stdin = sys.stdin


def ni(): return int(ns())


def na(): return list(map(int, stdin.readline().split()))


def naa(N): return [na() for _ in range(N)]


def ns(): return stdin.readline().rstrip()  # ignore trailing spaces


N = ni()

digit = 1

alphabets = "abcdefghijklmnopqrstuvwxyz"
ans = ""

while(1):
    if N > pow(26, digit):
        N -= pow(26, digit)
        digit += 1
        continue
    N -= 1
    for j in range(digit):
        ans += alphabets[N // pow(26, digit - j - 1)]
        N = N % pow(26, digit - j - 1)
    break
print(ans)
from math import *
a=int(input())
r=''
n=ceil(a/26)
while(n and a>0):
    n-=1
    c=a%26
    if(c!=0):
        r+=chr(97+c-1)
    else:
        r+='z'
    if(c==0):
        a=(a//26)-1
    else:
        a=a//26
print(r[::-1])
def solve():
    n = int(input())
    a = 97
    tmp = 0
    index = 0
    ans = []
    for i in range(1, 12):
        pre = tmp
        tmp += 26 ** i
        if n <= tmp:
            index = i
            n = n - pre
            break
    n = n - 1
    for _ in range(0, index)[::-1]:
        ans.append(chr((n % 26) + a))
        n = n // 26
    print(''.join(ans[::-1]))








if __name__ == '__main__':
    solve()
n = int(input())
a = "abcdefghijklmnopqrstuvwxyz"
s = []
while n > 0:
    s.append(a[n%26 - 1])
    if (n % 26 == 0):
        n = n // 26 -1
    else:
        n //= 26
print(''.join(s[::-1]))
N = int(input())
ans = ""
for i in range(1,99):
    if N<=26**i:
        N-=1
        for j in range(i):
            ans += chr(ord("a")+ N%26)
            N//=26
        break
    else:
        N-=26**i
print(ans[::-1])
n = int(input())

alp = 'abcdefghijklmnopqrstuvwxyz'

name = []

while n > 0:
    n -= 1
    name.append(alp[n % 26])
    n //= 26

name.reverse()

print(*name,sep='')
N = int(input())

name = ''
while True:
  rem = (N-1) % 26
  name += chr(rem + ord('a'))
  N = (N-1) // 26
  if N == 0:
    break

print(name[::-1])
#!/usr/bin/env python3
import string

N = int(input().split()[0])
a_list = list(string.ascii_lowercase)

amari_list = []
n = N
while n > 0:
    n -= 1
    amari = n % 26
    amari_list.append(a_list[amari])
    n = n // 26

ans = "".join(reversed(amari_list))

print(ans)
n = int(input())
s = ""
abc = "abcdefghijklmnopqrstuvwxyz"
while n:
    s = abc[(n - 1) % 26] + s
    n -= 1
    n //= 26

print(s)
n = int(input())

ans = ""
while n > 0:
    x = n % 26
    if x != 0:
        ans += chr(x + 96)
    else:
        ans += 'z'
        n -= 1

    n = n // 26

print(ans[::-1])
N = int(input())
ans = []
while(True):
  m = N % 26
  if m == 0:
    m = 26
  ans.append(m)
  N -= m
  N = N // 26
  if N == 0:
    break

# print(ans)

ans.reverse()
print(''.join(map(lambda i: chr(96 + i), ans)))
N = int(input())

def solve(n):
    if 1 <= n <= 26:
        return chr(ord('a') + (n-1) % 26)
    else:
        q, r = divmod(n, 26)
        if r == 0:
            q -= 1
            r += 26
        return solve(q) + chr(ord('a') + (r-1) % 26)

print(solve(N))
N = int(input())
ans = []
A = ['z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y']

while N > 0:
  ans.append(A[N % 26])
  if N % 26 == 0:
    N = N // 26 - 1
  else:
    N = N // 26

  

ans = ans[::-1]
ans = ''.join(ans)
print(ans)
def alpha2num(alpha):
    num=0
    for index, item in enumerate(list(alpha)):
        num += pow(26,len(alpha)-index-1)*(ord(item)-ord('A')+1)
    return num

def num2alpha(num):
    if num<=26:
        return chr(64+num)
    elif num%26==0:
        return num2alpha(num//26-1)+chr(90)
    else:
        return num2alpha(num//26)+chr(64+num%26)

n=int(input())

s = num2alpha(n)
print(s.lower())
# -*- coding: utf-8 -*-
import math
from sys import stdin
input = stdin.readline
import numpy as np


N = int(input())
al = [chr(i) for i in range(97, 97+26)]

ans = ""

while N>0:
    N -= 1
    ans += al[N%26]
    N //= 26

print(ans[::-1])
n = int(input())

alphabet = 'abcdefghijklmnopqrstuvwxyz'


def name(n):
    if n <= 26:
        return alphabet[n - 1]
    else:
        return name((n - 1) // 26) + name(n % 26)


print(name(n))
import math
#map(int,input().split())
#int(x) for x in input().split()
#for _ in range(int(input())):
n=int(input())
s=''
while n>0:
	x=n//26
	d=n-x*26
	if d==0:
		s+='z'
		n=(n-26)//26
		continue
	else:
		s+=chr(96+int(d))
	if n%26==0 and x==1:
		break
	n=x
print(s[::-1])
import sys

sys.setrecursionlimit(10 ** 7)

f_inf = float('inf')
mod = 10 ** 9 + 7


def resolve():
    n = int(input())
    L = [chr(i) for i in range(97, 97 + 26)]

    res = ""
    while n:
        r = n % 26
        res += L[r - 1]
        n = max(0, (n - 1)) // 26
    print(res[::-1])


if __name__ == '__main__':
    resolve()
N = int(input())

ans = ""
while N > 0:
    N -= 1
    ans += chr(N%26+97)
    N //= 26
print(ans[-1::-1])
import string,sys
def I(): return int(sys.stdin.readline().rstrip())
N = I()
abc = string.ascii_lowercase
def main(N):
    if N<=26:
        return abc[N-1]
    if N%26==0:
        return main(N//26-1)+abc[-1]
    return main(N//26)+abc[N%26-1]
print(main(N))
n = int(input())
c = " "
while n:
    if n % 26 == 0:
        c += 'z'
        n -= 1
    else:
        c += chr((n % 26) + ord('a') - 1)
    n //= 26
print(c[::-1])
l = ["z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y"]
l2 = [0]*11

n = int(input())
for i in range(11):
  p = 0
  q = 0
  p = n%26
  if n==0 and p==0:
    l2[i]=""
  else:
    l2[i]=l[p]
    if p ==0:
      q = n - 26
    else:
      q = n - p
    n = q//26
print(l2[10]+l2[9]+l2[8]+l2[7]+l2[6]+l2[5]+l2[4]+l2[3]+l2[2]+l2[1]+l2[0])
ans=[]
N=int(input())
N-=1
count=0
for l in range(1,15):
    if N>=26**l:
        N-=26**l
        continue
    count=l
    break
for i in range(count):
    d=N%26
    ans.append(chr(d+ord("a")))
    N//=26
ans.reverse()
print(*ans,sep="")
A = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
N = int(input())
ans = []
S = ''
while N != 0:
    ans.append(N%26)
    if N %26 == 0:
        N = N//26 - 1
    else:
        N = N//26
ans.reverse()
S = ''
for i in ans:
    S += A[i-1]
print(S)
import sys
input = sys.stdin.readline

def main():
    N = int(input())
    ans = ''
    while N > 0:
        N -= 1
        ans += chr(ord('a') + N % 26)
        N = N // 26

    print(ans[::-1])

main()
n = int(input())
cha = "abcdefghijklmnopqrstuvwxyz"
ans = ""
while n>=1:
    ans += cha[((n-1)%26)]
    n=(n-1)//26
print(ans[::-1])
n = int(input())
#n, k = [int(a) for a in input().split()]
#ps = [int(a) for a in input().split()]

a = []

remain = n

while remain != 0:
  t = int(remain % 26)
  a.append(t if t != 0 else 26)
  remain -= a[-1]
  remain /= 26
#a.append(int(remain))
tmp = ' abcdefghijklmnopqrstuvwxyz'
a.reverse()

print(''.join([tmp[i] for i in a]))
def num2alpha(num):
    if num <= 26:
        return chr(96+num)
    elif num % 26 == 0:
        return num2alpha(num//26-1)+chr(90)
    else:
        return num2alpha(num//26)+chr(96+num % 26)


n = int(input())
ans = num2alpha(n)
print(ans.lower())
import math
N = int(input())-1
ans = []

while(N>=26):
    ans.append(chr(ord("a")+(N%26)))
    N = (N-26)//26
ans.append(chr(ord("a")+(N%26)))
print("".join(ans[::-1]))
n = int(input())
alphabets = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k',
             'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
             'w', 'x', 'y', 'z']

res = ''
while (n > 0):
  n = n - 1
  q = n % 26
  n = n // 26
  res = res + alphabets[q]
res = res[::-1]
print(res)
import sys
import itertools
sys.setrecursionlimit(1000000000)
from heapq import heapify,heappop,heappush,heappushpop
import math
import collections
import copy

def main():
    n = int(input())
    ans = ""
    alpa = "abcdefghijklmnopqrstuvwxyz"
    while n:
        ans += alpa[n%26-1]
        n-=1
        n//=26
    ans2 = ""
    for i in range(len(ans)):
        ans2 += ans[len(ans)-i-1]
    print(ans2)
if __name__ == "__main__":
    main()
n = int(input())

def num2alpha(num):
    if num<=26:
        return chr(96+num)
    elif num%26==0:
        return num2alpha(num//26-1)+chr(122)
    else:
        return num2alpha(num//26)+chr(96+num%26)

print(num2alpha(n))
N = int(input())
alpha = "zabcdefghijklmnopqrstuvwxy"
ans = ""
while N > 0:
    ans = alpha[N%26] + ans
    if N%26==0:
        N = (N-26) //26
    else:
        N = N // 26
print(ans)
N = int(input())

n = 26
m = 1

while N > n:
    n = n * 26 + 26
    m += 1

e = n
result = ''

for i in range(m):
    a = N % 26
    if a == 0:
        a = 26
    result = chr(a + 96) + result
    N = (N - a) // 26

print(result)
n= int(input())

azlist = list('abcdefghijklmnopqrstuvwxyz')
ans = ''
for i in range(1,10000):
  n -= 1
  ans = azlist[n%26] + ans
  n = n//26
  if n ==0:
    break

print(ans)
import sys
input = sys.stdin.readline

def main():
    n = int(input())
    start = 0
    cnt = 0
    while 1:
        start += 26 ** cnt
        if start > n:
            start -= 26 ** cnt
            break
        cnt += 1
    ans = ''
    tmp = n - start
    for i in range(cnt):
        ans += chr(ord('a') + tmp % 26)
        tmp //= 26
    print(ans[::-1])

if __name__ == '__main__':
    main()
n = int(input())
t = []
while(n > 0):
    n -= 1
    t.append(n%26)
    n //= 26
s = ""
for i in range(1,len(t)+1):
    s += chr(t[-i]+97)
print(s)
n=int(input())
c=""
while n:
    n-=1
    c=chr(n%26+97)+c
    n//=26
print(c)
n = input()
N = int(n)

def can_devide(num):
    return num > 26

def get_alpha(alp):
    apls = [chr(i) for i in range(97, 97+26)]
    return apls[alp - 1]


ans = ""

while True:
    alp = N % 26

    ans += get_alpha(alp)
    
    if alp == 0:
        N = N // 26 -1
    else:
        N = N // 26 
        
    if N == 0:
        break



print(ans[::-1])
N=int(input())
out=''
while N>26:
    if N%26!=0:
        out=str(chr(ord('a')+N%26-1))+out
        N=N//26
    else:
        out=str(chr(ord('a')+25))+out
        N=N//26-1
if N!=0:
    print(str(chr(ord('a')+N-1))+out)
else:
    print(out)
N = int(input())

ans = ""
li = "abcdefghijklmnopqrstuvwxyz"

while N > 0:
    N -= 1
    ans += li[N % 26]
    N //= 26

print(ans[::-1])
N = int(input())
a = list('abcdefghijklmnopqrstuvwxyz')
name = 0
while N!=0:
  N-=1
  M = N%26
  N = N//26
  if name ==0:
    name = a[M]
  else:
    name = a[M]+name

print(name)
N = int(input())

ans = ""
x = N
while x > 0:
    cur = (x - 1) % 26
    ans += chr(ord("a") + cur)
    x = (x - 1) // 26

print(ans[::-1])
n=int(input())
N=n
a=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]
t=1
for i in range(1,20):
    if n>26**i:
        n=n-26**i
        t+=1
p=[0]*t
s=0
A=""
for i in range(1,t+1):
    s=N%26
    if s == 0:
        s = 26
    N=(N-s)//26
    p[t-i]=s
for i in range(t):
    A+=(a[p[i]-1])
print(A)
n = int(input())
nmax = 1000000000000001
alp = list("abcdefghijklmnopqrstuvwxyz")
ans = []
while n > 0:
    r = n%26
    if r == 0:
        r = 26
    n = (n-r)//26
    ans.append(alp[r-1])
print(''.join(ans[::-1]))
n=int(input())
ans=""
while n:
	n-=1
	ans+=chr(n%26+ord("a"))
	n//=26
print(ans[::-1])
def solve():
    # ref. https://drken1215.hatenablog.com/entry/2020/06/21/225500
    N = int(input())
    ans = ''
    while N > 0:
        N -= 1
        N,digit = divmod(N,26)
        ans += chr(ord('a') + digit)
    print(ans[::-1])

if __name__ == "__main__":
    solve()
N = int(input())
A = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n",
     "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
name = ""
s = True
while s:
  a = N % 26
  if a == 0:
    a = 25
  else:
    a -= 1
  name = A[a] + name
  N = (N - a) // 26
  if N == 0:
    s = False

print(name)
import string
b = string.ascii_letters
a = int(input())
c = []
while(a>0):
  a-=1
  c.append(b[a%26])
  a=a//26
c.reverse()
print(''.join(c))
n = int(input())
alp = 'abcdefghijklmnopqrstuvwxyz'

# 名前の長さを求める
min_n = 0
max_n = 26
l = 0
while min_n < n <= max_n:
    min_n += max_n
    max_n += max_n * 26
    l += 1

# n - min_n 番目の名前を求める <=> n - min_n - 1 を26進数に変換
m = n - min_n - 1
ans = ''
while m >= 26:
    ans = alp[m % 26] + ans
    m = m // 26 - 1
ans = alp[m] + ans

while len(ans) < l:
    ans = 'a' + ans

print(ans)
from math import ceil

n = int(input())

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

s = 0
for i in range(1,100):
  l = n - s
  s += 26**i
  if n <= s:
    m = i
    break #第m群l番目

name = [0] * m
div = [0] * m
rem = [0] * m
rem[-1] = l

for j in range(m):
  div[j] = ceil(rem[j-1] / (26**(m-j-1)))
  rem[j] = rem[j-1] % (26**(m-j-1))
  if rem[j] == 0:
    rem[j] == 26**(m-j-1)
  name[j] = a[div[j]-1]
    
print(''.join(name))
n = int(input())
a = 26
ans = ''
while n != 0:
  n -= 1
  ans += chr(ord('a') + n % 26)
  n //= 26
print(ans[::-1])
alphabets = [""] + [s for s in "abcdefghijklmnopqrstuvwxyz"]

s = int(input())

nums = []

while s > 0:
  nums.append((s - 1) % 26 + 1)
  s = (s - 1) // 26

res = ""
  
for _ in range(len(nums)):
  res = res + alphabets[nums.pop()]

print(res)
from math import log,ceil
n=int(input())
l=ceil((log(25*n+26)/log(26)))-1
d=n-26*(pow(26,l)-1)//25-1
s=''
for i in range(int(l)):
    s=chr(97+int(d)%26)+s
    d//=26
print(s)
N = int(input())
  
def num2alpha(num):
    if num<=26:
        return chr(64+num)
    elif num%26==0:
        return num2alpha(num//26-1)+chr(90)
    else:
        return num2alpha(num//26)+chr(64+num%26)
      
ans = num2alpha(N)      
      
print(str.lower(ans))
def main():
    n = int(input())
    s = "abcdefghijklmnopqrstuvwxyz"
    ans = ""
    while True:
        d = n % 26
        ans += s[d - 1]
        if n <= 26:
            break
        n = (n // 26)
        if d == 0:
            n -= 1
    print(ans[::-1])

if __name__ == '__main__':
    main()
n = int(input())
stock = [chr(i) for i in range(97, 97 + 26)]
full, count, j = 26, 1, 1
while (count + full <= n):
    count += full;    j += 1;    full *= 26
q = n - count
s = []
for k in range(j):
    s.append(stock[q % 26])
    q //= 26
print("".join(s[::-1]))
n=int(input()) 
A=[chr(u) for u in range(97,123)]
na=""
while n>0:
  q=n%26
  na+=A[q-1]
  n= n//26 if n%26!=0 else n//26-1
  
print(na[::-1])
import math
N=int(input())
def num2alpha(num):
    if num<=26:
        return str.lower(chr(64+num))
    elif num%26==0:
        return str.lower(num2alpha(num//26-1)+chr(90))
    else:
        return str.lower(num2alpha(num//26)+chr(64+num%26))


print(num2alpha(N))
n = int(input())

i = 1
ans = []

while n > 0:
    tmp = n % 26
    if tmp == 0:
        tmp = 26
    ans.append(chr(tmp+96))
    n = (n-tmp)//26

ans = ans[::-1]
print(''.join(ans))
alphabet_list =['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']

if __name__=="__main__":
    # Problem C
    N = int(input())
    ans = ''
    while N > 0:
        N -= 1
        ans += alphabet_list[N % 26]
        N = N // 26

    print(ans[::-1])
n = int(input())
name_base = []
dog_name = ''
while n > 0:
  ch_mod = (n-1)%26
  n = (n-1)//26
  name_base.append(ch_mod)
for i in name_base:
  dog_name = dog_name + chr(i+97)
print(dog_name[::-1])
N = int(input())

DIV = 26

mojiretsu = ''

NUM = 97

i = 1

minus = 0

while(True):
    minus += DIV ** (i - 1)
    mod = (N - minus) % (DIV ** i)
    new_sho = mod // DIV ** (i - 1)
    mojiretsu = chr(NUM + new_sho) + mojiretsu
    sho = (N - minus) // (DIV ** i)
    if sho == 0:
        print(mojiretsu)
        break
    i += 1
N = int(input())
name = ''
while N > 0:
    N, remainder = divmod(N - 1, 26)
    name = chr(ord('a') + remainder) + name
print(''.join(name))
N=int(input())
def num2alpha(num):
    if num<=26:
        return chr(64+num)
    elif num%26==0:
        return num2alpha(num//26-1)+chr(90)
    else:
        return num2alpha(num//26)+chr(64+num%26)

a=num2alpha(N)
print(str.lower(a))
N = int(input()) - 1
s = ''

M = 0
for i in range(1, 1000000):
    M += 26 ** i
    if M > N:
        break

N -= (M - 26**i)

for j in reversed(range(i)):
    K = N // (26 ** j)
    s += chr(K + 97)
    N -= K * (26 ** j)

print(s)
import string

def run(n):
    '''
    '''
    _base_array = string.ascii_lowercase
    results = []
    while n > 0:
        results.append(_base_array[n%26 - 1])
        if n%26 == 0:
            n = n//26 - 1
            continue
        n = n//26

    print(''.join(results[::-1]))



if __name__ == '__main__':
    n = int(input())
    run(n)