peterverebics/CodeNet_Python_118 huggingface dataset:
def resolve():
    lower = "abcdefghijklmnopqrstuvwxyz"
    N = int(input())    

    ans = ""
    while N > 26:
        idx = N % 26
        ans += lower[idx-1]
        N = -(-N//26)-1
    idx = N % 26
    ans += lower[idx - 1]
    print(ans[::-1])

if __name__ == "__main__":
    resolve()
n = int(input())-1
x = 26
d = 1
while n >= x:
  n -= x
  d += 1
  x *= 26
  
ans = ""
al = list("abcdefghijklmnopqrstuvwxyz")
tmp = pow(26,d)
for i in range(d-1,-1,-1):
  tmp //= 26 
  ans += al[n//tmp]
  n %= tmp
print(ans)
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=''
i=1
c=0
while n>0:
	t=n%26
	if t==0:
		t=26
		c=1
	ans=chr(t+ord('a')-1)+ans
	n//=26
	n-=c
	c=0
	
print(ans)
N = int(input())
len = 0

for i in range(12):
  if (26**i - 1)//25 <= N and (26**(i+1) - 1)//25 > N:
    len = i
    
ans = ["a" for _ in range(len)]
k = N - (26**len - 1)//25 + 1
x = k-1

for j in range(len):
  ans[j] = chr(ord("a") + x%26)
  x = x // 26

print("".join(ans[::-1]))
S = int(input())

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

print(this(S).lower())
import string


def m():
    N = int(input())
    a2z = string.ascii_lowercase
    ans = ''
    while N != 0:
        N -= 1
        ans = a2z[N % 26] + ans
        N = N // 26
    return ans

print(m())
n=int(input())
ans=[]
while n>0:
    n-=1
    a=n%26
    ans.append(chr(ord('a')+a))
    n=n//26
ans.reverse()
print(''.join(ans))
def main():
    N = int(input())
    n = N
    ans = []
    while n > 0:
        n -= 1
        remain = n % 26
        ans.append(chr(ord('a') + remain))
        n //= 26
    print(''.join(reversed(ans)))
main()
table = list("abcdefghijklmnopqrstuvwxyz")
N = int(input())

ans = []
while True:
    ans.append(N%26)
    if N%26 == 0:
        N -= 1
    if  N//26 == 0:
        break
    N//=26
for x in reversed(ans):
    print(table[x-1],end='')

print()
n = int(input())
ans = ""
while n > 0:
  n -= 1
  ans = chr(ord('a') + n%26) + ans
  n //= 26
print(ans)
N = int(input())
p = 1
cnt = 26
while (cnt < N):
    p += 1
    cnt += 26 ** p

mod = (N - cnt + 26 ** p) % 26 ** p
mod = mod - 1

# str : p
alphabet = "abcdefghijklmnopqrstuvwxyz"

st = ['a'] * p

for i in reversed(list(range(p))):
    st[i] = alphabet[(mod % 26)]
    mod = mod // 26

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

def num2alpha(N):
    if N <= 26:
        return chr(64+N)
    elif N%26 == 0:
        return num2alpha(N//26-1) + chr(90)
    else:
        return num2alpha(N//26) + chr(64+N%26)
print(str.lower(num2alpha(N)))
import sys
read = sys.stdin.read
readlines = sys.stdin.readlines
def main():
    n = int(input())
    r = []
    while n > 0:
        n -= 1
        t1 = n % 26
        r.append(chr(t1+97))
        n = n // 26
    r2 = "".join(r[::-1])
    print(r2)

if __name__ == '__main__':
    main()
N = int(input())
mapping = 'zabcdefghijklmnopqrstuvwxy'
res = []
for i in range(1, 99):
    if N <= 26 ** i:
        for j in range(i):
            N, r = divmod(N, 26)
            res.append(mapping[r])
            if r:
                N += 1
        break
    else:
        N -= 26 ** i
res.reverse()
print(''.join(res))
n = int(input())
ans = ''
while n:
  n -= 1
  alphabet = chr(ord('a') + n % 26)
  ans += alphabet
  n //= 26
print(ans[::-1])
N = int(input())

alpha_list = "abcdefghijklmnopqrstuvwxyz"

ans = ""
moji_list = []
while(N != 0):
    tmp = N % 26
    
    if(tmp == 0):
        tmp = 26
    
    moji_list.append(alpha_list[tmp-1])

    N = (N - tmp) // 26

#print(moji_list)

for hoge in reversed(moji_list):
    ans += hoge

print(ans)
# coding: utf-8
# Your code here!
def num2alpha(x):
    if x <= 26:
        return chr(x + 64).lower()
    elif x % 26 == 0:
        return num2alpha(x // 26 -1) + chr(90).lower()
    else:
        return num2alpha(x // 26) + chr(x % 26 + 64).lower()  

def main():
    n = int(input())
    print(num2alpha(n))
    
main()
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())
ans=num2alpha(N)
print(str.lower(ans))
n = int(input())
ans =""
while True:

    i = n%26
    if i == 0:i = 26
    n = (n-1) // 26
    mo = ord("a")+(i-1)

    ans = chr(mo) + ans
    if n == 0:
        break

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

N = int(input())
print(number(N))
n=int(input())
digit=0
for i in range(1,12):
    tmp=26**i
    if n<=tmp:
        digit=i
        break
    else:
        n-=tmp
# print(digit,n)
n-=1
ans=[]
for i in range(digit-1,-1,-1):
    tmp=26**i
    # print(n,tmp,n//tmp,n%tmp)
    ans.append(n//tmp)
    n%=tmp
# print(ans)
for ai in ans:
    print(chr(ai+97),end='')
import itertools
import string

n = int(input())
alphabets = string.ascii_lowercase

digit = 0
counter = 0
while counter < n:
	digit += 1
	counter += 26**digit

answer = ""
for d in range(digit):
	if d == 0:
		alphabet = n % 26 - 1
		if alphabet == -1:
			alphabet = 25
		answer = alphabets[alphabet] + answer
		n = n - alphabet
	else:
		n = n // 26
		alphabet =  n % 26 - 1
		if alphabet == -1:
			alphabet = 25
		answer = alphabets[alphabet] + answer
		n = n - alphabet

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

    N-=1
    res=res+chr(ord("a")+int(N%26))
    N=int(N/26)
res=res[::-1]
print(res)
n = int(input())

for i in range(1000):
    if n > 26**(i+1):
        n -= 26**(i+1)
    else:
        break
x = i+1

t = 26**i
ans = ""
for i in range(x-1,-1,-1):
    t = 26**i
    for j in range(26):
        if n > t:
            n -= t
        else:
            ans += chr(ord("a")+j)
            break
print(ans)
N = int(input())
res = []
while N:
    N -= 1
    N, r = divmod(N, 26)
    res.append(chr(r + ord('a')))
res.reverse()
print(''.join(res))
N = int(input())
a = 1
ans = ''
abc = [chr(ord('a') + i) for i in range(26)]
while N>26**a:
  N -= 26**a
  a += 1
ans += abc[N%26-1]
if a >= 2:
  N = (N-1)//26
for i in range(a-1):
  ans += abc[N%26]
  N = N//26
print(ans[::-1])
n = int(input())

ans = ""
last_is_z = False
while n:
    if last_is_z:
        n -= 1
        if n == 0:
            break
    if n % 26 == 0:  # zのとき
        ans += "z"
        last_is_z = True
    else:
        ans += chr(96 + n % 26)
        last_is_z = False
    n //= 26

print(ans[::-1])
def solve():
  N = int(input())
  k = 1
  while N>pow(26,k):
    N -= pow(26,k)
    k += 1
  ans = ''
  N -= 1
  for i in range(k,1,-1):
    ans += chr(ord('a')+N//pow(26,i-1))
    N%=pow(26,i-1)
  ans += chr(ord('a')+N%26)
  return ans
print(solve())
N=int(input())
alp=[]

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


while(True):
  K=-1
  K = int(N%26)
  alp.insert(0,mozi[K-1]) 
  if(N<=26):break
  if(K==0):N =(N-26)/26
  else:N = (N-K)/26
    
print(''.join(alp))
N = int(input())
alpha = []
while N != 0:
    a = N % 26
    if a == 0:
        a = 26
        N -= 1
    alpha.append(chr(a + 96))
    N = int(N / 26)
alpha.reverse()
print(''.join(alpha))
n = int(input()) - 1
x = 26
i = 1
while n >= x:
  n -= x
  x *= 26
  i += 1
r = ''
while n:
  r = chr(97 + n % 26) + r
  n //= 26
print(r.rjust(i, 'a'))
n = int(input())
alphabet = 'abcdefghijklmnopqrstuvwxyz'

n -= 1
ans = ''
while n >= 0:
    ans = alphabet[n % 26] + ans
    n //= 26
    n -= 1

print(ans)
n = int(input())
res = []
arufa = []
for i in range(97, 123):
    arufa.append(chr(i))
while n:
    if n == 0:
        break
    n -= 1
    res.append(arufa[int(n % 26)])
    n //= 26
res.reverse()
ans = "".join(res)
print(ans)
n=int(input())
s=''
while n:
    n-=1
    s=chr(97+n%26)+s
    n//=26

print(s)
N = int(input()) 

ans='' 

while N>0:
	N -= 1
	ans += chr(ord('a') + N % 26) 
	N = N//26
    
print(ans[::-1])
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)
s = num2alpha(N)
print(s.lower())
n = int(input())
ans = ''
while n:
    n -= 1
    ans += chr(ord('a')+n%26)
    n //= 26
print(ans[::-1])
def dogsName(n):
	if (n==0):
		return
	n = n-1
	last_char = n%26
	dogsName(n//26)
	print(chr(ord('a') + last_char), end='')

n = int(input())
dogsName(n)
def main():
    import sys
    def input(): return sys.stdin.readline().rstrip()
    n = int(input())
    count = 1
    k,l = 26,26
    while k < n:
        l *= 26
        k += l
        count += 1
    r = n - k + l -1
    s = ''
    for i in range(count):
        m = r%26
        r //= 26
        s += chr(ord('a')+ m)
    s = s[::-1]
    print(s)

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

ans = ''
while n > 0:
    n -= 1
    ans += chr(n % 26 + ord('a'))
    n = n // 26
print(ans[::-1])
n = int(input())
ans =''
while n > 0:
    n = n - 1
    ans += chr(ord('a') + n % 26)
    n  = n // 26
print(ans[::-1])
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(ans.lower())
N=int(input())

ans=[]
a=ord("a")
while N>0:
    N-=1
    chrr=N%26
    ans.append(chr(a+chrr))
    N//=26


print("".join(ans[::-1]))
N = int(input())
alpha = 'abcdefghijklmnopqrstuvwxyz'
ans = ''
while N > 0:
  N -= 1
  ans += alpha[N%26]
  N //= 26
print( ans[::-1])
a_list = [chr(ord('a') + i) for i in range(26)]
n = int(input())

l_list = []
ans = ''
while n > 0:
    if n % 26 == 0:
        l_list.append(26)
        n = n // 26 - 1
    else:
        l_list.append(n%26)
        n = n // 26
l_list = l_list[::-1]
for i in l_list:
    ans += a_list[i-1]
print(ans)
N = int(input())
digit = 1
for i in range(1,11):
    if N > 26**i:
        digit += 1
        N -= 26**i
    else:
        break
ans = []
for i in reversed(range(1,digit)):
    ans.append((N-1)//(26**i))
    N -= ans[-1]*(26**i)
ans.append(N-1)
ans = [chr(i+97) for i in ans]
print("".join(ans))
N = int(input())
ans = ''
while N > 0:
  N -= 1
  ans += chr(97 + N % 26)
  N //= 26
print(ans[::-1])
base = ord('a')

N = int(input())

data = []

while N:
    next, mod = divmod(N - 1, 26)
    data.append(mod)
    N = next

data.reverse()

for i in data:
    print(chr(base + i), end="")
n = int(input())
digits = []
while n > 0:
    r = n % 26
    if r == 0:
        r = 26
    c = chr(r + ord("a") - 1)
    digits.append(c)
    n = (n-1) // 26
digits.reverse()
print("".join(digits))
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]) # reversed
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)
      
result = str(num2alpha(N))
result = result.lower()
print(result)
n=int(input())

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

print(ans[::-1])
n = int(input())
ans = []
alpha = [chr(i) for i in range(97, 97+26)]
num = 0
rank = 0

for i in range(100):
    if num >= n:
        rank = i
        break

    num += 26 ** (i + 1)

num -= 26 ** rank
n -= num + 1
for i in range(rank):
    ans.append(alpha[n % 26])
    n = n // 26

ans.reverse()
print(''.join(ans))
N = int(input())
an = []
alfa = 'abcdefghijklmnopqrstuvwxyz'
N -= 1
while True:
    amari = N % 26
    an.append(amari)
    if N < 26:
        break
    N = N // 26 - 1
ans = ''
for x in an :
    ans = alfa[x] + ans
print(ans)
import string

small = string.ascii_lowercase
n = int(input())

ans = ""
while n > 0:
    n -= 1
    r = n % 26
    ans = small[r] + ans
    n  = (n- r) // 26
print(ans)
A = int(input())

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

def Base_10_to_n_alp(X, n):
    X = X-1
    if (int(X/n)):
        return Base_10_to_n_alp(int(X/n), n)+alp[X%n]
    return alp[X%n]

print(Base_10_to_n_alp(A,26))
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).lower()
print(ans)
# -*- coding: utf-8 -*-
N = int(input())
ascii_lowercase = 'abcdefghijklmnopqrstuvwxyz'

ans = ""
while(N > 0):
    N, mod = divmod(N, 26)
    if mod == 0:
        N -= 1
        ans = "z" + ans
    else:
        ans = ascii_lowercase[mod - 1] + ans

print(ans)
N = int(input())

def name(n):
    if n == 0:
        return ''
    n -= 1
    return name(n//26) + chr(ord('a') + n % 26)

print(name(N))
import sys
readline = sys.stdin.readline

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

def main():
    N = int(readline())
    print(num2alpha(N).lower())

if __name__ == '__main__':
    main()
n = int(input())
s = ""
al = "abcdefghijklmnopqrstuvwxyz"

while n > 0:
  o = (n-1) % 26
  n = (n-1) // 26
  s += al[int(o)]

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

N = int(input())
al = ['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']

x = N
keta = [0]*100
i = 0
while x > 0:
    if x % 26 == 0:
        keta[i] = 26
    else:
        keta[i] = x % 26
    x -= keta[i]
    x = int(x / 26)
    i += 1

ans = ""
for p in range(i):
    ans = al[keta[p]-1] + ans

print(ans)
n=int(input())
string = ""

for i in range(12):
    n = n - 1
    ret = n%26 #0~25
    string = chr(ret+97) + string
    if n<26:
        break
    n = int((n - ret) / 26)
print(string)
N = int(input())
n = 1#桁数
ans = ""
an = 0
alfabet = "abcdefghijklmnopqrstuvwxyz"
while(not (an<N and N<=an+26**n)):
    an = an + 26**n
    n = n+1
#桁数nを決める

mae = an
l = n-1

while(l>=0):
    k = 1
    while(mae+26**l*k < N):#l桁目を求める
        k +=1
    ans= ans+alfabet[k-1]
    if(k!=1):
        mae = mae +26**l*(k-1)
   
    l-=1
print(ans)
import sys
input = sys.stdin.readline

N = int(input())

piv = 0
while True:
    if 26*(26**piv-1)/25 >= N:
        break
    piv += 1
N -= 26*(26**(piv-1)-1)/25 + 1
for i in reversed(range(piv)):
    x = int(N//(26**i)%26)
    print(chr(x+97), end='')
print()
def main():
    N = int(input())
    s = ""
    d = N
    while d:
        if d % 26 == 0:
            d, r = d // 26 - 1, 26
        else:
            d, r = d // 26, d % 26
        s += chr(r+64).lower()

    print("".join(list(reversed(s))))


if __name__ == '__main__':
    main()
def q3():
    Alphabet = ["dummy"] + [c for c in "abcdefghijklmnopqrstuvwxyz"]

    n = int(input())

    name = ""
    while True:
        if n <= 26:
            name = Alphabet[n] + name
            break
        n_c = n % 26
        if n_c == 0:
            name = "z" + name
            n = n // 26 - 1
        else:
            name = Alphabet[n_c] + name
            n = (n - n_c) // 26

    print(name)


q3()
n = int(input())
n_temp = n
index_pochi = []
eiji_list = [chr(ord('a') + i) for i in range(26)]
while(True):
    eiji = eiji_list[(n_temp-1)%26]
    index_pochi = [eiji] + index_pochi
    if int((n_temp-1)/26) == 0:
        break
    n_temp = int((n_temp-1)/26)
print("".join(index_pochi))
def main():
    N = int( input())
    t = 26
    ANS = []
    a = ord("a")
    # if N == 1:
    #     print("a")
    #     return
    # N -= 1
    while True:
        # if N%t == 0:
        #     ANS.append("z")
        # else:
        ANS.append( chr((N-1)%t+a))
        N = (N-1)//t
        if N == 0:
            break
    print("".join( ANS[::-1]))
if __name__ == '__main__':
    main()
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())
n = int(input())
chars = ''

dividend = n
columnName = ''
modulo = 0

while dividend > 0:
    modulo = (dividend - 1) % 26
    columnName = chr(97 + modulo) + columnName
    dividend = int((dividend - modulo) / 26)
print(columnName)
t="abcdefghijklmnopqrstuvwxyz"
n=int(input())
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())
#x,n=map(int,input().split())
#pl=list(map(int,input().split()))
#l=[list(map(int,input().split())) for i in range(n)]

res=''

# 文字数を求める
total=0
i=1
while True:
    if total+26**i>=n:
        break
    else:
        total+=26**i
        i+=1

# 文字数iがわかったので，そのなかでn-i番目
k=n-total-1
for j in range(i):
    res+=chr(ord('a')+k%26)
    k=k//26

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

    A = 'zabcdefghijklmnopqrstuvwxyz'
    ans = ''
    while n > 0:
        ans = A[n % 26] + ans
        if(n % 26 == 0):
            n = n // 26 - 1
        else:
            n = n // 26

    print(ans)


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

out = ""

from string import ascii_lowercase
from math import ceil
while n:
    out = ascii_lowercase[n % 26 - 1] + out
    
    n = (n - 1) // 26

print(out)
n = int(input())
alfabet = 'abcdefghijklmnopqrstuvwxyz'
name = ''
while True:
  if n <= 26:
    name = alfabet[n-1] + name
    break
  else:
    num = n % 26
    name = alfabet[num-1] + name
    if n%26 ==0:
      n = (n//26) -1
    else:
      n = n//26
print(name)
n = int(input())
s = ""
while n > 0:
  n -= 1
  s += chr(97 + (n % 26))
  n //= 26
print(s[::-1])
N=int(input())
ans=''
for i in range(1,99):
    if N<=26**i:
        N-=1 #０インデックス使う方がやりやすい？から−１してるそのままなら下のchr(ord('a'))を一つ前の文字にすればいい
        for j in range(i):
            ans+=chr(ord('a')+N%26)
            N//=26
        break
    else:
        N-=26**i
print(ans[::-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)

print(num2alpha(int(input())).lower())
N = int(input())

ans = ""
while N > 0:
  x = (N-1) % 26

  ans = chr(ord('a') + x) + ans
  N = (N-1) // 26
  
print(ans)
def henkan(num):
    if num<=26:
        return chr(64+num)
    elif num%26==0:
        return henkan(num//26-1)+chr(90)
    else:
        return henkan(num//26)+chr(64+num%26)
      
num=int(input())
ans=henkan(num)
print(ans.lower())
A = 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(int(A))
print(ans.lower())
n = int(input())

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

alphabets = [chr(i) for i in range(97, 97+26)]
x = N
ans = ""

while True:
    x -= 1
    ans = alphabets[x % 26] + ans
    x //= 26
    if x <= 0:
        break

print(ans)
alpha = "abcdefghijklmnopqrstuvwxyz"

N = int(input())

dog_name = ""

while N > 0:
    dog_name += alpha[(N-1)%26]
    N = (N-1) // 26

dog_name = dog_name[::-1]

print(dog_name)
N = int(input())

r=[]
r.append(N%26)
x=N//26

if N%26==0:
  x=x-1
while x > 0:
  t=x%26
  r.append(t)
  x=x//26
  if t==0:
    x=x-1
  
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"]

X = A[r[0]]
for i in range(len(r)-1):
    X = X + A[r[i+1]]

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

for l in range(1, 100):
    if N >= 26**l:
        N -= 26**l
    else:
        ans = ""
        for i in range(l):
            ans += chr(ord('a') + N % 26)
            N //= 26
        print(ans[::-1])
        break
def num2alpha(num: int):
    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())
print(num2alpha(N).lower())
alpa = 'zabcdefghijklmnopqrstuvwxy'
N = int(input())
# for i in range(703, 730):
#     print((i-1)//26, i)
ans = []
while N >= 27:
    ans.append(alpa[N%26])
    N = (N-1)//26

ans.append(alpa[N%26])
ans.reverse()
print(*ans, sep='')
N = int(input())

q, mod = divmod(N, 26)
if mod == 0:
    ans = "z"
    q -= 1
else:
    ans = chr(mod+96)

while q > 0:
    q, mod = divmod(q, 26)
    if mod == 0:
        ans = "z" + ans
        q -= 1
    else:
        ans = chr(mod+96) + ans
    
print(ans)
n = int(input())
ans = ''
while n > 0:
  n -= 1
  ans += chr(ord('a') + n % 26)
  n //= 26
print(ans[::-1])
from collections import deque
n = int(input())
stack = deque()
ans =[]
while n > 0:
    if 1<= n <= 26:
        stack.append(n)
        break
    mod = n%26
    if mod == 0:
        mod = 26
    stack.append(mod)
    if mod == 26:
        n = (n//26) - 1
    else:
        n = n//26
while stack:
    tmp = stack.pop()
    alp = chr(tmp+96)
    ans.append(alp)
anss = ''.join(ans)
print(anss)
# coding: utf-8
# Your code here!

n = int(input())

sub = []
while n > 0:
    if n != 0:
        n -= 1
    sub.append(chr(97 + n % 26))
    n = n // 26

for i in range(len(sub)):
    print(sub[len(sub)-i - 1],end="")
N = int(input())

s = "abcdefghijklmnopqrstuvwxyz"
ans = ""
n, m = 0, 0

for i in range(1, 1000):
    m += 26 ** i
    if N <= m:
        n = i
        break

for i in range(n):
    a, b = divmod(N, 26)
    N = a
    if b == 0:
        ans += s[25]
        N -= 1
    else:
        ans += s[b-1]

ans1 = ''.join(list(reversed(ans)))
print(ans1)
K = 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(K).lower())
def main():
    n = int(input())
    ans=''
    while(n):
        n -= 1
        ans += chr(ord('a') + n%26)
        n //= 26
    print(ans[::-1])


if __name__ == "__main__":
    main()
n = int(input())

digit = 1
while n > 26 ** digit:
  n -= 26 ** digit
  digit += 1

ans = []
n -= 1
char = 'abcdefghijklmnopqrstuvwxyz'
for i in list(range(digit)):
  ans.append(char[n % 26])
  n -= n%26
  n = int(n/26)

print(''.join(reversed(ans)))
import math

n = (int)(input())

#
remain = []
while n > 0:
    re = n % 26
    if re == 0:
        re = 26
    remain.append(re)
    n = math.floor(n / 26)
    if re == 26:
        n -= 1
remain.reverse()

#
ret = ""
for i in remain:
    ret += chr(i + 96)

print("{}".format(ret))
n = int(input())
l = [chr(ord('a') + i) for i in range(26)]
l = [l.pop()] + l

k = []

while n > 0:
    y = n % 26
    k.append(l[y])
    n -= 1
    n //= 26
print(''.join(reversed(k)))
N=int(input())
A=[]
for i in range(15):
  d=(N-1)%26
  e=(N-1)//26
  A.append(d+1)
  N=e
  if N==0:
    break
  
A=A[::-1]
r=''
for i in A:
  r=r+chr(96+i)
print(r)
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])
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())
print(num2alpha(N).lower())
N = int(input())
ans = ""

while N >= 26:
    m = N % 26
    if m == 0:
        ans = chr(96 + 26) + ans
        N //= 26
        N -= 1
    else:
        ans = chr(96 + m) + ans
        N //= 26
# print(ans, N)
if N == 0:
    print(ans)
else:
    print(chr(96 + N) + ans)
import string
a=string.ascii_lowercase
N=int(input())
ans=[]
count=1
n=26
s=0
while N>n:
    count+=1
    s=n
    n+=26**count
N-=s+1
for i in range(count):
    n=N//26
    m=N%26
    ans.append(a[m])
    N=n
Ans=[]
for i in range(len(ans)):
    Ans.append(ans[len(ans)-i-1])
print("".join(Ans))