peterverebics/CodeNet_Python_118 huggingface dataset:
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.upper())
N = int(input())

S = "abcdefghijklmnopqrstuvwxyz" 
L = ""

while True:
    X = N%26
    L = S[X-1]+L
    N = N//26
    if N == 0:
        break
print(L)
N = int(input())
c = [chr(i) for i in range(ord("a"), ord("z") + 1)]

name = []
while (1):
    amari = N % 26
    N = N//26

    if amari == 0:
        amari = 26

    name.append(amari)
    if N == 0:
        break

name = (list(map(lambda x : chr(ord("a")-1+x), name)))
for n in reversed(name):
    print(n, end="")
print()
search_num = int(input())
alpha_num = 26

settle_list = []
while search_num > alpha_num:
    rest = search_num%alpha_num
    # print(rest)
    settle_list.append(rest)
    search_num = search_num//alpha_num
settle_list.append(search_num)

alphabets = [chr(i) for i in range(97, 97+26)]  # 大文字
numbers = [i for i in range(1, 27)]
dict1 = dict(zip(numbers,alphabets))
dict1[0] = "z"
# print(dict1)

ans_list = []
for i in settle_list:
    ans_list.append(dict1[i])
ans_list.reverse()
print("".join(ans_list))
import math

N = int(input())
l = []
while N // 26 != 0:
  n = N % 26
  l.insert(0, n)
  N = N // 26
l.insert(0, N)

NAME = [chr(64+num) for num in l]
name = str.lower("".join(NAME))
print(name)
n = int(input())
al = 'abcdefghijklmnopqrstuvwxyz'
s = ''
while n > 26:
  e = n % 26
  s = al[e - 1] + s
  n //= 26
s = al[n % 26 - 1] + s    
print(s)
a = int(input())
n = 26
def numalpha(num):
    if num<=n:
        return chr(ord('a')+num-1)
    else:
        return numalpha(num//n)+chr(ord('a')+num%n-1)
        
print(numalpha(a))
alphabet = "abcdefghijklmnopqrstuvwxyz"

N = int(input())

ans = ""
for i in range(1,100):
    r = N % 26
    ans += alphabet[r-1]
    N = (N-r) // 26
    if N <= 0: break

print(ans[::-1])
number   = int(input())
alphabet = [chr(i) for i in range(97, 97+26)]
name_tag = []

while number != 0:
  number, a = divmod(number, 26)
  name_tag.append(a)
  
for i in name_tag:
  print(alphabet[i-1], end="")
n = int(input())
d = ['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', 'z']
a = ''
f = 0
while n:
    a = d[n % 26 - f] + a
    if n % 26 == 0:
        f = 1
    else:
        f = 0
    n //= 26
print(a)
n = int(input())

b = []
moji_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']
for i in range(10):
  a = n % 26
  a = int(a)
  n = (n - a)/26
  b.append(a)
  if n == 0:
    break

b = sorted(b)
print(b)
for i in range(len(b)):
  print(moji_list[b[i]-1],end="")
  
print()
N = int(input())
ans = ''
az = [chr(i) for i in range(97, 97+26)]
while N>0:
    r = N%26
    ans+=az[r-1]
    N = (N-r)//26
print(ans[::-1])
def sol():
    alphabet = ['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 = ''
    for i in range(100000):
        if n // 26 >= 1:
            ans = alphabet[int(n % 26 - 1)] + ans
            n = n / 26
            continue
        else:
            ans = alphabet[int(n % 26 - 1)] + ans
            break
    print(ans)

if __name__ == "__main__":
    sol()
N=int(input())
abc=[chr(i) for i in range(97, 97+26)]
ans=""
while N>0:
    ans+=(abc[N%26-1])
    N//=26
print(ans[::-1])
n = int(input())
digits = [int(26/25*(pow(26, i) - 1)) for i in range(15)]
digit = 0

for i in range(15):
    if n <= digits[i]:
        digit = i
        break
s = ''
for i in range(digit):
    m = n // pow(26, digit-i-1)
    # print("m=",m)
    s += chr(97+m-1)
    # print("s=",s)
    n -= m * pow(26, (digit-i-1))
    
print(s)
n = int(input())

alp =  ["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","z"]
name = ""
for i in range (10):
    name = alp[n%26]+name
    if n <=26:
        break
    n //= 26

print(name)
n=int(input())
alphabet='abcdefghijklmnopqrstuvwxyz'
base=[26**i for i in range(12)]
digit=0
flag=0
for i in range(12):
    if n%base[i]==0:
        flag=1
    elif base[i]>n:
        digit=i
        break
answer=''
for i in range(digit):
    t=n//base[-(13-digit)-i]
    answer+=alphabet[t-1]
    n=n%base[-(13-digit)-i]
if flag==1:
    print(answer[1:])
else:
    print(answer)
N = int(input())
s = ''
tmp = N
while True:
    s = chr((tmp-1)%26+97) + s
    tmp //= 26
    if tmp==0:
        break
print(s)
N = int(input())
s = N
num = 0
ar = []
mod = s
while (s > 26):
    q, mod = divmod(s, 26)
    if mod == 0:
        mod = 26
    ar.append(mod)
    s = q
    num += 1
if mod == 0:
    mod = 26
ar.append(mod)
ar.reverse()
for i in ar:
    print(chr(i+96), end='')
sum=26
count=0
n = int(input())
k = ord('a')-1
while(sum<n) :
  count+=1
  sum+=26**(count+1)

current=n
mozi=''
mozi1=''
for i in range(count+1) :
  mozi+='z'
if current==sum :
  print(mozi)
else :
  for i in reversed(range(count+1)) :
    c=current//26**i

    mozi1+=chr(c+k)
    current = current % 26 ** i
  print(mozi1)
n = int(input())
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","","","","","",""]
data=[]
ans = str()
r = int()

while n > 0:
    r = n % 26
    data.append(r)
    n //= 26
    
print(data)

is_z =False  
for i in reversed(data):
    if i == 0:
        ans = ans.replace("a","z")
    ans += list[i - 1]
    
print(ans)
# One Quadrillion and One Dalmetians

N = int(input())

Q = [N]
R = []
name =[]
i = 0

while Q[i] // 27 != 0:
    Q.append(Q[i] // 26)
    R.append(Q[i] % 26)
    i += 1
    
name.append(chr(Q[i]+96))

while i != 0 :
	i -= 1
	name.append(chr(R[i]+96))

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

print(''.join(reversed(ans)))
# C - One Quadrillion and One Dalmatians

n = int(input())

al = 'abcdefghijklmnopqrstuvwxyz'
s = ''
while True:
    s = al[n % len(al)-1] + s
    n = n // len(al)
    if n == 0:
        break

print(s)
n = int(input())
alphabet = 'abcdefghijklmnopqrstuvwxyz'
answer = ""
while n > 0:
    tmp = n % 26
    answer+=alphabet[tmp-1]
    n=n//26

print(answer[::-1])
n = int(input())
def nume(num):
    if num<=26:
        return chr(96+num)
    elif num%26==0:
        return nume(num//26-1)+chr(126)
    else:
        return nume(num//26)+chr(96+num%26)
print(nume(n))
N = int(input())
ans = ''

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

print(ans)
n = int(input())
d = ['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']
a = ''
while n:
    a = d[n % 26] + a
    n //= 26
print(a)
N =int(input())
num2alpha = lambda c: chr(c+64)
a=[]
while N >> 0:
    if (N%26) == 0:
        a.append("z")
    else :
        a.append(num2alpha(int(N%26)).lower())
    N=int(N/26)
a.reverse()
print(''.join(a))

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)
import sys
input = sys.stdin.readline
N = int(input())

# upper-case A-Z
#[chr(i) for i in range(65,65+26)]
# lower-case a-z
#alphabet = [chr(i) for i in range(97,97+26)]

ans = ''
while N > 0:
    ans += chr(ord('a') + N % 26 - 1)
    N = N // 26
print(ans[::-1])
n = int(input())
#n -= 1
l = []
while True:
    t = n // 26
    s = n % 26
    if s != 0:
        l.append(chr(96+s))
    n = t
    if t == 0:
        break
l.reverse()
print(''.join(l))
alphabet = ['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']
num = int(input()) - 1
bit = []
c = (0,0)
while (num // 26) > 26 :
    c = divmod(num,26)
    num = c[0]
    bit.append(c[1])
else:
    c = divmod(num,26)
    num = c[0]
    bit.append(c[1])
if c[0] != 0: bit.append(c[0])
res = ''
for i in reversed(range(0,len(bit))):
    
    res += alphabet[bit[i] - 1]

print(res)
N=int(input());N-=1
a=list('abcdefghijklmnopqrstuvwxyz')
n=[]
while 0<N:
    n.insert(0,a[N%26])
    N=(N//26)-1
    if N==0:n.insert(0,'a')
print(''.join(n))
n = int(input())
shinsu = []

flag = True

while flag == True:
  s = n % 26
  shinsu.append(s)
  if n <= 26:
    flag = False
  n //= 26

alphabetTable = ['z']
alphabetTable.extend(chr(i) for i in range(97,123))

shinsu.reverse()
name = [alphabetTable[i] for i in shinsu]
print(''.join(name))
N = int(input())

name_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']
name = ""

while N != 0:
    num = (N-1)%26
    N = N//26
    name += name_list[num]

name = name[::-1]
print(name)
n = int(input())
st =[chr(ord("a") + i) for i in range(26)]
ans = []
if n <= 26:
    print(st[n-1])
else :
  while True :
     a = n%26
     n //= 26
     ans.append(a)
     if n <=25:
         ans.append(n)
         break
  ans.reverse()
  print(ans)
  l =[]
  for i in ans:
    ls = st[i-1]
    l.append(ls)
  print("".join(l))
n = int(input())

def base_10_to_n(N, x):
    out = ''
    while N>0:
        out = chr(96+N%x)+out
        N = int(N/x)
        
    print(out)
    
base_10_to_n(n, 26)
import sys
INF = 1 << 60
MOD = 10**9 + 7 # 998244353
sys.setrecursionlimit(2147483647)
input = lambda:sys.stdin.readline().rstrip()
def resolve():
    n = int(input())
    res = []
    while n:
        n, r = divmod(n, 26)
        # print(r)
        res.append(chr(ord('a') + r - 1))

    res.reverse()
    print(''.join(res))
resolve()
#%%
import sys
from collections import deque

sys.setrecursionlimit(10 ** 6)
INF = float("inf")
MOD = 10 ** 9 + 7


def input():
    return sys.stdin.readline().strip()


def main():
    N = int(input())
    alpahbet = [chr(ord("a") + i) for i in range(26)]

    ans = deque([])
    while N > 0:
        if N % 26 == 0:
            ans.appendleft(alpahbet[-1])
        else:
            ans.appendleft(alpahbet[N % 26 - 1])
        N //= 26

    print(*ans, sep="")


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

S = str()

import math

while N > 0:
	if N > 26:
		D = math.floor(math.log(N, 26))
		K = 26**math.floor(math.log(N, 26))
		P = N//K
		N = N-P*K
		S=S+chr(96+P)
	else:
		K = N
		S=S+chr(96+K)
		N = 0

print(S)
N = int(input())
al = 26
i = 1
while N > al**i:
    N -= al**(i)
    i += 1
ans = ''
print(N)
a = ord('a')
while i > 0:
    ans += chr(a + (N-1) // al**(i-1))
    N %= al**(i-1)
    i -= 1
print(ans)
N = int(input())
li = []
while(1):
    i = N % 26
    li.append(chr(96 + i))
    N = N // 26
    if N == 0:
        break

li.reverse()
for i in range(len(li)):
    print(li[i], end="")
N = int(input())

c_ls = []

for n in range(0, 12):
    a = sum([26 ** i for i in range(1, n + 1)])
    if not n:
        a = 1
    s = N - a
    if s >= 0:
        m = (s % (26 ** (n + 1))) // (26 ** (n)) + 1
        c_ls.append(chr(m + 96))

print("".join(reversed(c_ls)))
N = int(input())
name = ''
while N!=0:
  name =  chr(ord('a')-1+N%26) + name
  N = N//26
print(name)
def main():
    N = int(input())
    alp = "abcdefghijklmnopqrstuvwxyz"
    reslist = []
    q, r = divmod(N, 26)
    reslist.append(r)

    while q > 0:
        q, r = divmod(q, 26)
        reslist.append(r)
    
    name = [alp[s-1] for s in reslist]
    name = reversed(name)

    print(''.join(name))


if __name__ == '__main__':
    main()
def solve():
    N = int(input())
    ans = ''
    remainder = N
    for i in range(10, -1, -1):
        digit,remainder = divmod(remainder, 26**i)
        if digit != 0:
            ans += chr(digit + 96)
    print(ans)

if __name__ == "__main__":
    solve()
x = int(input())
str_val = ''
while(x > 0):
  char = x % 26
  x = x // 26
  str_val = str_val + chr(96+char)
  
print(str_val[::-1])
n=int(input())
ans=""
l=[26,26**2,26**3,26**4,26**5,26**7,26**8,26**9,26**10]
s=[0]

tt=0
for i in range(9):
    tt+=l[i]
    s.append(tt)
s.sort(reverse=True)
l.sort(reverse=True)
tmp=n
for i in range(9):
    if n>=s[i]:
        k=tmp//l[i]
        kk=chr(k+64).lower()
        tmp=tmp%l[i]
        ans=ans+kk
ans=ans+chr(tmp+64).lower()
print(ans)
a=int(input())

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

name_list=[]

name=""
q=int(a/27)
r=int(a%26)

if q==0:
	name_list.append(r)

while q>0:
	q=int(a/26)
	r=int(a%26)
	a=q
	name_list.append(r)

for i in range(len(name_list)):
	name+=ei[name_list[-(i+1)]-1]

print(name)
n = int(input())
ans = ''

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

print(ans[::-1])
n = int(input())
AL = [chr(ord('a') + i) for i in range(26)]

def number_to_alphabet(n):
    a = ''
    while 0 < n:
        d = n % 26 - 1
        a = AL[d] + a
        n = n//26
    return a

print(number_to_alphabet(n))
import sys
sys.setrecursionlimit(4100000)
import math
INF = 10**9

def main():
    n = int(input())

    a = int(math.log(n,26))
    a2 = n - 26**a
    ans = ''
    b = n
    for i in range(a+1):
        if b == 0:
            ans += chr(ord('a')+int(b//(26**(a-i))))
        else:
            ans += chr(ord('a')-1+int(b//(26**(a-i))))
        b -= 26**(a-i)*(b//(26**(a-i)))
    print(ans)


if __name__ == '__main__':
    main()
n = int(input())
a = 'abcdefghijjklmnopqrstuvwxyz'
name = ''
while n >= 26:
    name = a[n % 26-1]+name
    n //= 26
name = a[n-1]+name
print(name)
n = int(input())

result = chr(96 + (n % 26))
while n // 26 > 0:
    n = n // 26
    x = n % 26
    result += chr(96 + x)
print(result[::-1])
from math import log

n = float(input())

alphabet = ['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']



alpha = []
def Base_10_to_n(X, n):
    global alpha
    if (int(X/n)):
        alpha = Base_10_to_n(int(X/n), n) + [X%n]
        return alpha
    return [X%n]

a = Base_10_to_n(n,26)
out = []
for i in range(len(a)):
    out.append(alphabet[int(a[i])])
print(''.join(out))
import sys
n = int(input())
m = n

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

keta = 0
while True:
    if n < 26**(keta):
        break
    keta += 1
ans = ''

for i in range(keta-1, -1, -1):
    have = m // (26 ** i)
    ans += alphabet[have-1]
    m -= 26 ** i * have
    
print(ans)
N = int(input())

number = N
answer = ''

while number >= 1:
    x = number % 26
    if x == 0:
        x = 26
    answer = chr(96+x) + answer

    if number % 26 == 0 and number // 26 == 1:
        break
    number //= 26

print(answer)
n = int(input())
l = []
while n != 0:
    amari = n % 26
    n = n // 26
    l.append(amari)
l2 = []
for i in range(len(l)-1,-1,-1):
    l2.append(l[i]+96)
l3 = []
for i in l2:
    l3.append(chr(i))

print("".join(l3))
N=int(input())
def num2alpha(num):
    if num<=26:
        return chr(num+96)
    elif num%26==0:
        return num2alpha(num//26-1)+chr(90)
    else:
        return num2alpha(num//26)+chr(num%26+96)
print(num2alpha(N))
N = int(input())
l = []
ascii_lowercase = 'zabcdefghijklmnopqrstuvwxy'
while N>=26:
    l.append(N%26)
    N = N//26
l.append(N)
for i in l[::-1]:
    print(ascii_lowercase[i], end='')
print('')
N = int(input())
chars = "Xabcdefghijklmnopqrstuvwxyz"
ans = ""
while True:
    la = N // 26
    sm = N % 26
    if sm == 0:
        sm = 26
        la -= 1
    ans += chars[sm]
    N = la
    if N <= 1:
        break
print(ans[::-1])
a = int(input().rstrip())

b = a
c = []
for i in range(30):
    c.append(int(b%26))
    b = b/26
c.reverse()

aa = ["","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",]

for j in range(len(c)):
    print(aa[c[j]],end ="")
print("")
import sys
read = sys.stdin.read
readlines = sys.stdin.readlines
def main():
    n = int(input())
    r = []
    while n:
        n += 1
        t1 = n % 26
        r.append(chr(t1+95))
        n = n // 26
    print("".join(r[::-1]))

if __name__ == '__main__':
    main()
N = int(input())
alpha = list('abcdefghijklmnopqrstuvwxyz')
ans = ''

def dfs(n):
    global ans
    if n <= 26:
        ans += alpha[n-1]
        return ans
    else:
        ans += alpha[n%26-1]
        return dfs(n//26)


print(dfs(N)[::-1])
N = int(input())
ans = ""
while N >= 1:
    if N%26 == 0:
        ans = chr(26+96) + ans
        N = int(N/26)
    else:
        ans = chr(N%26+96) + ans
        N = int(N/26)
print(ans)
N = int(input())
l = 'abcdefghijklmnopqrstuvwxyz'
s = ''
a = N % 27
s += l[a-1]
N //= 26
while(N!=0):
  a = N % 27
  s += l[a-1]
  N //= 26
print(s[::-1])
import sys
import math
#sys.stdin=open('input.txt','r')
#sys.stdout=open('output.txt','w')
from sys import stdin,stdout
from collections import deque,defaultdict
from math import ceil,floor,inf,sqrt,factorial,gcd,log2
from copy import deepcopy
ii1=lambda:int(stdin.readline().strip())
is1=lambda:stdin.readline().strip()
iia=lambda:list(map(int,stdin.readline().strip().split()))
isa=lambda:stdin.readline().strip().split()
mod=1000000007
s='abcdefghijklmnopqrstuvwxyz'
n = ii1()
ans=''
while n:
    a=n%26
    ans+=s[a-1]
    n//=26
print(ans[::-1])
N = int(input())
ans = ''
# ans = lambda c: chr(c+64)

# chr(ord(str))
# 26進数計算
 
'''
while True:
  if N <= 26:
    print(ans(N).lower())
    exit()
'''
n = int(input())
ans = ""
while n > 0:
    ans = chr(ord('a')+n%26-1)+ans
    n //= 26
print(ans)
N = int(input())
a = []
for i in range(26):
    a.append(chr(0x61 + i))

l = []
for i in range(20):
    x = N % 26
    l.append(a[x - 1])
    N = N // 26
    if N == 0:
        break

print("".join(reversed(l)))
n=int(input())

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

if n<27:
    print(alphabet[n])
    exit()

rest=[]
while n!=0:
    rest.append(n%26)
    n = n // 26
rest.reverse()

for i in range(len(rest)-1):
    if rest[len(rest)-1-i]==0:
        rest[len(rest)-1-i]=26
        rest[len(rest)-2-i]-=1
if rest[0]==0:
    rest=rest[1:]
print(rest)

ans=''
for i in range(len(rest)):
    ans+=alphabet[rest[i]]
print(ans)
n = int(input())
a = []
while True:
    n, r = divmod(n, 26)
    a.append(r)
    if n <= 25:
        if n != 0:
            a.append(n)
        break
a = a[::-1]
from string import ascii_letters as b
print(''.join([b[v-1] for v in a]))
N = int(input())

alphabet = ["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"]

s = N
t = 0
while(s > 26):
    t += 1
    s /= 26

keta = []
for i in range(t+1):
    base = 26 ** (t - i)
    tmp = int(N / base)
    keta.append(alphabet[tmp - 1].lower())
    N -= base * tmp

answer = ""
for i in range(len(keta)):
    answer += keta[i]

print(answer)
a = 'abcdefghijklmnopqrstuvwxyz'
n = int(input())
ans = ''
while n>=1:
    x = n%26
    n = n//26
    ans+=a[x-1]
print(ans[-1::-1])
s=int(input())
d=[]
while s>0:
  d.append(chr(s%26+97))
  s//=26
t=''
for i in reversed(d):
  t+=i
print(t)
a = int(input())
n = 26
def numalpha(num,s=''):
    if num < n:
        return chr(ord('a') + num - 1) + s
    else:
        return numalpha(num // n, chr(ord('a') + num % n - 1) + s)
        
print(numalpha(a))
N = int(input())-1

a = 1
while a <= N:
    a *= 26

a //= 26

ans = ''

while a >= 1:
    d = N // a - 1
    if a == 1:
        d += 1
    N = N % a
    a //= 26
    ans += chr(ord('a') + d)

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

def conversion(num):
    converted_list = []
    flg = True
    
    while flg:
        num, mod = divmod(num, 26)
        converted_list.append(mod)
        if num == 0:
            flg = False
            
    converted_list = converted_list[::-1]
    return converted_list

alphabet = [chr(i) for i in range(97, 123)]
ans = ''

for i in conversion(n):
    ans += alphabet[i - 1]
    
print(ans)
n = int(input())

alp_list = [chr(ord('a')+i) for i in range(26)]
ans = ''

while n>0:
    # １のくらいから文字を入れていく
    # 各位の数は小さい方から、Nを26で割った時の余りに対応する
    ans = alp_list[n%26-1] + ans
    n //= 26
print(ans)
N = int(input())
q = N
alp = [chr(i) for i in range(97,97+26)]
a = []

r = q % 26
q = int(q / 26)
a.append(r)
while q >= 26:
    r = q % 26
    q = int(q / 26)
    a.append(r)
    if q < 26:
        a.append(q)
a.reverse()
for i in range(len(a)):
    print(alp[a[i]-1], end='')
def main():
    n = int(input())
    ans = []
    while n>26:
        p = n//26
        k = n-26*p
        ans.append(k)
        n = p
    ans.append(n)
    ans = ans[::-1]
    b = []
    for a in ans:
        b.append(chr(96+int(a)))
    print(''.join(b))

if __name__ == "__main__":
    main()
# https://atcoder.jp/contests/abc171/tasks/abc171_c

import string


def getOrdOfAlphabet(s):
    return ord(s) - 64


def getAlphabetByNum(n):
    alphabets = string.ascii_lowercase
    return alphabets[n - 1]



N = int(input())

N_work = N

mod_list = []

while True:
    if N_work == 0:
        break
    
    mod = N_work % 26
    mod_list.append(mod)

    N_work //= 26


dog_name = ''

for n in mod_list:
    if n == 0:
        n = 26
    
    dog_name = getAlphabetByNum(n) + dog_name
    

print(dog_name)
# print('input >>')
N = int(input())
alphabets = 'abcdefghijklmnopqrstuvwxyz'

name = ''

while N > 1:
    mod = int(N) % 26
    name = alphabets[mod-1] + name
    N /= 26

# print('-----output-----')
print(name)
#!/usr/bin/env pypy
 
import sys
import string
def get_int(): return int(sys.stdin.readline().strip())
def get_ints(): return map(int, sys.stdin.readline().strip().split()) 
def get_list(): return list(map(int, sys.stdin.readline().strip().split())) 
def get_string(): return sys.stdin.readline().strip()
def out(data): return sys.stdout.write(str(data))
def out_list(arr): return sys.stdout.write(' '.join(str(e) for e in arr))

MAX = 10**9
MOD = 10**9 + 7

n = get_int()
alp = " "+string.ascii_lowercase
ans = ''

while n:
  ans += alp[(n-1)%26+1]
  n = (n-1) // 26
print(ans)
import sys

N_MAX = 200000 + 5
INF = 10**9 + 7
sys.setrecursionlimit(N_MAX)
MOD = 10**9 + 7

N = int(sys.stdin.readline())

alp = "abcdefghijklmnopqrstuvwxyz"


def name(A, s=""):
    i = A % 26
    z = alp[i - 1]
    s = z + s
    A = A // 26
    if A > 0:
        s = name(A, s)
    return s


print(name(N))
base = ord('a') - 1

N = int(input())

data = []

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

data.reverse()

for i in data:
    print(chr(base + i), end="")
#coding: utf-8
N = int(input())
alp = [chr(i) for i in range(97, 97+26)]
for i in range(100):
    if 26**i >= N:
        cnt = i
        #tmp = N - 26**(i-1)
        break
s = 0
#print(cnt)
for i in range(cnt):
    s += 26**i
tmp = N-s
#print(tmp)
ans = ''
while cnt > 0:
    d = int(tmp//(26**(cnt-1)))
    tmp =tmp%(26**(cnt-1))
    #print(int(d))
    ans += alp[d]
    cnt -= 1

print(ans)
N = int(input())
check = "abcdefghijklmnopqrstuvwxyz"

if N <= 26:
  print(check[N-1])
  exit(0)
i = 0
keta = 26**i 
while keta <= N:
  i += 1
  keta = 26**i
ans = ""
for j in range(i):
  checker = int(N / 26**(i - j -1))
  N = N - checker*(26**(i-j-1))
  s = check[checker-1]
  ans = ans + s
print(ans)
import math
n=int(input())
a=[]
y=int(math.log(n,26))
for i in range(y+1):
    a.append(n%(26**(i+1)))
for i in range(y+1):
    a[i]=a[i]//(26**i)
a.reverse()
#print(a,y)
q=['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']
for i in range(y+1):
    print(q[a[i]-1],end="")
n = int(input())

# アルファベットの文字列を作成
list_alpha = [chr(i) for i in range(97, 97+26)]

# 名前長さを捜索
for i in range(1, 20):
    n_len = n
    n_len -= pow(26, i)
    if n_len <= 0:
        break
    n = n_len

ans = ''
for j in range(1, i+1):
    devide = n // pow(26, 1)
    rest = n % pow(26, 1)
    ans = ''.join([list_alpha[rest-1], ans])
    n = devide

print(ans)
def main():
    n = int(input())
    ans = []
    while n>26:
        p = n//26
        k = n-26*p
        ans.append(k)
        n = p
    ans.append(n)
    ans = ans[::-1]
    b = []
    flg = 0
    for a in ans:
        if int(a)==0:
            b.pop(-1)
            b.append('az')
        else:
            b.append(chr(96+int(a)))
    print(''.join(b))

if __name__ == "__main__":
    main()