peterverebics/CodeNet_Python_118 huggingface dataset:
N = int(input())

list_moji = []
n = int(N/26)
m = N%26
list_moji.append(m)
while n != 0:
    tmp = n
    n = int(tmp/26)
    m = tmp%26
    
    if n == 1:
        list_moji.append(0)
        list_moji = [0]*len(list_moji)
        break
    else:
        list_moji.append(m)

string = ""
for i in reversed(list_moji):
    if i != 0:
        string += chr(96 + i)
    else:
        string += chr(96 + 26)


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

alphabets = [chr(i) for i in range(ord('a'), ord('a') + 26)]
x = 0
for i in range(1, 100):
    if n <= 26**i:
        x = i
        break
ans = ''
for i in range(x, 0, -1):
    ans = alphabets[n % 26 - 1] + ans
    n = n // 26

print(ans)
N = int(input())
tmp_n = N
ans = []
while True:
    s, r = divmod(tmp_n, 26)
    if r == 0:
        r = 26
    ans.append(chr(r+96))
    tmp_n = s
    if s == 0:
        break
print("".join(ans[::-1]))
N = int(input())

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

print(num10to26(N))
import sys
import numpy as np
import math
from collections import deque 
from functools import reduce

n = int(input())
az = "abcdefghijklmnopqrstuvwxyz"
cnt = 12
ret = []
ama = n % 26
na = n
for i in range(12, 0, -1):
    if 26**(i-1) > n:
        continue
    sho = na // (26**i)
    if sho > 0:
        ret.append(az[sho-1])
    else:
        ret.append('z')
    na -= sho * (26**i)
if ama > 0:
    ret.append(az[ama-1])
if (ret[0] == 'z'):
    del ret[0]
re = "".join(ret)
print(re)
n = int(input())
if n==1:
    print('a')

i = 0
buf = 0
while 26**i+buf<=n:
    buf += 26**i
    i += 1
ans = ''
for j in range(i):
    ans += chr(ord('a')+(n//(26**j)-1)%26)
    n -= 26**j
print(ans[::-1])
in1 = input()
ind = int(in1)

alpha = "abcdefghijklmnopqrstuvwxyz"

twosix = []

while True:
  if (ind < 26):
    twosix.append(ind)
    break
  twosix.append(ind % 26)
  ind //= 26
  
#print(twosix)
ans = ""
twosix.reverse()
#print(twosix)
for i in twosix:
  ans += alpha[i-1]

print(ans)
N=int(input())
c=[]
alpha=['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']
while N>=26:
  n=N%26
  N//=26
  c.insert(0,alpha[n-1])
  
if N!=0:
  c.insert(0,alpha[N-1])
  
c=''.join(c)
print(c)
import string


N = int(input())
S = string.ascii_lowercase

ans = ''
if N <= 26:
    ans = S[N - 1]

while True:
    N, b = divmod(N, 26)
    ans = S[b - 1] + ans
    if b == 0:
        N -= 1

    if N <= 26:
        ans = S[N - 1] + ans
        break

print(ans)
n = int(input())
b = 26
ans = []
for i in range(1,99):
    if n <= b:
        n -= 1
        for j in range(i-1):
            ans.append(chr(97 + n % b))
            n //= b
        break
    else:
        n -= b ** i

for k in range(len(ans)):
    print(ans[-(k+1)],end="")
def xxx(n):
    alpha = "abcdefghijklmnopqrstuvwxyz"
    ans = ""
    i = 1

    while True:
        if n <= 26 ** i:
            n -= 1
            while n > 0:
                ans = alpha[n%26] + ans
                n //= 26
            return ans
        else:
            n -= 26 ** i
            i += 1


N = int(input())
print(xxx(N))
s='0abcdefghijklmnopqrstuvwxyz'
n=int(input())
def number_of_alphabets(n):
    i=1
    g=0
    while g<n:
        g+=26**i
        i+=1
    return(i-1)
i=number_of_alphabets(n)-1
name=''
for i in range(i,-1,-1):
    o=n//26**i
    if o>26:
        o=26
    name+=s[o]
    n=n-o*26**i
print(name)
import math
N = int(input())
a = [chr(i) for i in range(97, 97+26)]
data = ''
count = 1
data = f'{data}{a[N % 26-1]}'
if int(N/26) == 0:
    print(data[0])
    exit(0)
for i in range(int(math.log(N, 26))):
    data = f'{a[round((N/26**count) % 26-1)]}{data}'
    N -= 26**count
    count += 1
print(data)
exit(0)
from string import ascii_lowercase
N = int(input())
s = list()

while N > 0: 
	m = N%26 - 1
	s.append(ascii_lowercase[m])
	N = int(N/26)
	
s.reverse()
s = ''.join(s)
print(s)
N=int(input())
N = 27
ans = ""
def n(N):
    ans= ""
    for i in range(N):
        if N%26 ==0:
            ans = "z" +ans
            N -= 1
        else:
            ans = chr(64+ N%26) +ans
        
        if N <= 26:
            break
        N = N // 26
    return ans
    
for i in range(1,10000):
    print(n(i))
print(ans.lower())
n = int(input())
final = []
while 1:
    q = n//26
    r = n%26
    final.append(chr(ord('a')+(r-1)))
    n = q
    if q == 0:
        break
ans=''
for i in final:
    ans+=i
print(ans[::-1])
MAX = 200
def Excel(n): 
    string = ["\0"] * MAX
    i = 0
    while n > 0: 
        rem = n % 26
        if rem == 0: 
            string[i] = 'z'
            i += 1
            n = (n //26) - 1
        else: 
            string[i] = chr(int(rem - 1 + 97))
            i += 1
            n = n // 26
    string[i] = '\0'
    string = string[::-1] 
    return "".join(string) 
n=int(input())
print(Excel(n))
n = int(input())
word_list = ["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"]
ans = []
while n>0:
    ans.append(word_list[n%26])
    if n%26 == 0:
      break
    n = n//26
    
    

ans.reverse()
print(''.join(ans))
n = int(input())
alphabet = [chr(i) for i in range(97, 123)]
ans = list()
for i in reversed(range(12)):
    if x := n // (26 ** i):
        ans.append(alphabet[x - 1])
        n %= 26 ** i
print("".join(ans))
n = int(input())
num2alpha = lambda c: chr(c+64)
ans = []

while True:
    if n == 0:
        break

    i = n%26
    n = int(n/26)

    ans.append(num2alpha(i))

ans.reverse()
print("".join(ans).lower())
import string

N = int(input())
char_list = string.ascii_lowercase
char_list = char_list[:-1]
char_list = 'z' + char_list

tmp = 0
count = 0
ans = ''
while 1:
    before = tmp
    count += 1
    tmp += 26**count
    if before < N <= tmp:
        tmp = N
        while 1:
             ans = char_list[tmp%26] + ans
             tmp = tmp // 26
             count -= 1
             if count == 0:
                 break
        break
    else:
        pass

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

ans=""

while n!=0:
    ans+=chr(96+n%26)
    n//=26
    
print(ans[::-1])
n= int(input())

alp=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"
          ])

answer=""
while True:
    answer=alp[(n-1)%26]+answer
    if n<=26:
        break
    n=n//26

print(answer)
N = int(input())
keta = 1
while (N-1)//26**keta >= 1:
    keta += 1
for i in range(1, keta):
    N -= 26**i
alph = 'abcdefghijklmnopqrstuvwxyz'
ans = []
ans.append(alph[(N%26)-1])
for i in range(1, keta):
    num = (N-1)//(26**i)
    if num ==0:
        ans.append("a")
    else:
        ans.append(alph[(num%26)])
ans.reverse()
print("".join(ans))
N = int(input())

s = ''
for i in reversed(range(27)):
    if 26 ** i > N:
        continue
    M = N // (26 ** i)
    s += chr(M + 96)
    N -= M * (26 ** i)

print(s)
n = int(input())
pVal = 1
idx = 0
res = []
total = 0

while(26 * pVal + total < n):
  n -= pVal
  total += 26 * pVal
  pVal *= 26
  res.append('a')

res.append('a')
n -= pVal

while(n > 0):
  put = n//pVal
  if(put > 0):
    res[idx] = chr(put + 97)

  idx += 1
  n -= put * pVal
  pVal /= 26
  pVal = int(pVal)

print(str.join('', res))
n= int(input())

azlist = list('abcdefghijklmnopqrstuvwxyz')
ans = ''
def aaa(n):
  for i in range(1,10**9):
    if (n-26**i)<=0:
      return n
    else:
      n = n-26**i

n = aaa(n)


for i in range(1,10**9):
  ans = azlist[n%26 - 1] + ans
  if n//26 == 0 or (n//26 == 1 and n%26==0 ):
    break
  else:
    n = n//26

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

a=[]
X_dumy = X
out = ''
while X_dumy>0:
  out = str(X_dumy%n)
  X_dumy = int(X_dumy/n)
  a.append(out)

l = list('abcdefghijklmnopqrstuvwxyz')
N=0
for x in a:
  a[N]=l[int(a[N])-1]
  N=N+1
a.reverse()
pg = ''.join(a)
print(pg)
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']

name = ''
while N != 0:
    name += alphabet[(N-1) % 26]
    if N == 26:
      break
    N //= 26
print(name[::-1])
n = int( input() )
alphabet = [ '' ] + [chr(i) for i in range(97, 97+26)]

conv = []
k = n
while k > 0:
    conv.append( k % 26 )
    k = k // 26

ans = []
for c in conv:
    ans.append( alphabet[ c ] )

print( "".join( reversed( ans ) ) )
n = int(input())
ans = ''
while not n == 0:
  ans += chr(ord('a') + n % 26 - 1)
  n //= 26
print(ans[::-1])
N = int(input())
rslt = ""
sub = 1
while N >= 0:
    rslt = chr((N - 1) % 26 + ord('a')) + rslt
    sub *= 26
    N -= sub + (N % 26 - 1)
print(rslt)
#!/usr/bin/python3
import sys
input = lambda: sys.stdin.readline().strip()
n = int(input()) - 1
if n == 0:
    print('a')
else:
    ans = []
    while n > 0:
        ans.append(n % 26)
        n //= 26
    print(*reversed([chr(ord('a') + x) if i == 0 else ('z' if x == 0 else chr(ord('a') + x - 1)) for i, x in enumerate(ans)]), sep='')
a=int(input())
list=[]
for i in range(11,1,-1):
  b = a // (26**i)
  a = a - b*(26**i)
  list.append(b)
for i,k in zip(list,range(len(list))):
  list[k]=chr(i+96)
result=''.join(list)
print(result.replace("`",''))
N = int(input())

ans = ''
while(N > 0):
  _i = (N-1) % 26
  ans = chr(ord('a') + _i) + ans
  N //= 26
  
print(ans)
n = int(input())
p = 0
result = []
while True:
    p = n % 26
    n //= 26
    result.append(p)
    if n == 0:
        break

string = 'abcdefghijklmnopqrstuvwxyz'
ans = []
for i in range(len(result)-1,-1, -1):
    index = result[i]-1 
    ans.append(string[index:index+1])
print (''.join(map(str, ans)))
N = int(input())
ans, i = 0, 1
def toN(X, n):
    if (int(X/n)):
        return toN(int(X/n), n)+str(X%n).zfill(2)
    return str(X%n).zfill(2)

while N > ans + 26**i:
    ans += 26**i
    i += 1
    
a = toN(N, 26)
lang = []

for j in range(0, i*2, 2):
    if j == 0:
        lang.append('a')
    else:
        lang.append(chr(int(a[j:j+2])+96))
        pre = int(a[j:j+2])
    
print(''.join(lang))
def main():
    n = int(input())
    def Base_10_to_n(X, n):
        if (int(X/n)):
            return Base_10_to_n(int(X/n), n)+' '+str(X%n)
        return str(X%n)
    P = list(map(int, Base_10_to_n(n, 26).split()))
    ans = [0] * len(P)
    for i, p in enumerate(P):
        ans[i] = chr(96 + p)


    print(''.join(ans))


if __name__ == '__main__':
    main()
import string
lower = string.ascii_lowercase
N_org = int(input())
N_order = 0
N=N_org
while N > 0:
    if N //len(lower) >=1:
        N = N//len(lower)
        N_order = N_order+1
    else:
        break;
S = ""
N= N_org
for i in range(N_order,0,-1):
    syou = N//(len(lower)**i)
    moji = lower[syou-1]
    N = N%(len(lower)**i)
    S = S + moji
S = S+ lower[N%len(lower)-1]

print(S)
N= int(input())
if N ==0:
    print("a")
else:   
    mylist =[]
    while N >26:
        b = N%26
        mylist.append(b-1)
        N = N//26
    if N ==26:
        mylist.append(0)
    else:
        mylist.append(N-1)

    num = ["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 i in reversed(mylist):
        ans.append(num[i])
    print(''.join(ans))
n = int(input())
l = [0]
ans = []
a = 0
cur = 1
while a < 1000000000000001:
  a += 26**cur
  cur += 1
  l.append(a)
l = list(reversed(l))
for i in range(len(l)-1):
  if l[i] >= n:
    ans.append(0)
  else:
    div = (n-1)//(l[i]-l[i+1])
    n = n-div*(l[i]-l[i+1])
    ans.append(div)
ans.append(n)
ans =list(map(lambda x:x+96, ans))
for i in range(len(ans)):
  if ans[i] > 96:
    ans2 = ans[i:]
    break
ans2 = "".join([chr(i) for i in ans2])
print(ans2)
N = int(input())
x = []

while (N == 0):
    N, i = divmod(N, 26)
    x = i + 96
    print(x)
N = int(input())

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

E = []
E.append( N%26 )

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

w = []
for ee in E:
  w.append(alphabets[ee-1])

print("".join(list(reversed(w))))
n=int(input())
l=list("abcdefghijklmnopqrstuvwxyz")
name=""
while n>=1:
    name=(l[n%26-1])+name
    n//=26
print(name)
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(ans)
n = int(input())
s = [chr(ord("a")+i) for i in range(26)]
num, i = 1, 0
while n - num > 0:
    num = num*27
    i += 1
ans = ""
while i > 0:
    tmp = 0
    for j in range(1, 27):
        if n - j*pow(26, i-1) < 0:
            break
        tmp = j
    ans += s[tmp- 1]
    n -= tmp*pow(26, i-1)
    i -= 1
print(ans)
n = int(input())

c = ord("a")
l = ""
while n > 26:
    a = n % 26
    n = (n-a)//26
    l = l+chr(c+a-1)
l = l+chr(c+n-1)
print(l[::-1])
ans = ""

N = int(input())

for i in range(10000):
    tmp = N%26
    ans += chr(96+tmp)
    N //= 26

    if N <= 0:
        break

print(ans[::-1])
import numpy as np

n = int(input())

li = [chr(i) for i in range(97, 97 + 26)]
lili = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B',
        'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q']
ans = []

zzz = list(np.base_repr(n, base=26))

for i in zzz:
    xxx = lili.index(i)
    ans.append(li[xxx-1])

print(''.join(ans))
N=int(input())
alp=["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=""
while N>0:
  Q=N%26
  N=N//26
  S+=alp[Q-1]
print(S[::-1])
import string
b = string.ascii_letters
a = int(input())
c = []
while(a!=0):
  c.append(b[a%26-1])
  a//=26
  
print(''.join(c))
N = int(input())
fin = False
ans = ''
t=1
while fin == False:
    print(t)
    num = (N-1)%26
    print(chr(num+97))
    ans=chr(num+97)+ans
    if N<=26:
        fin = True
    t+=1
    N=(N-26^t)//26+1
print(ans)
# import statistics # Pythonのみ
# import string
import sys
sys.setrecursionlimit(10 ** 5 + 10)
def input(): return sys.stdin.readline().strip()

def resolve():
    
    n=int(input())
    alp=list(chr(ord('a')+i) for i in range(26))
    ans=[]
    
    while n>0:
        a,b=divmod(n,26)
        n//=26
        ans.append(alp[b])
    ans2=''
    for i in ans[::-1]:
        ans2+=chr(ord(i)-1)
    
    print(ans2.replace('a`','z'))
        

    
resolve()
N=int(input())
lista=["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"]
amari=[]
ans=""
while N!=0:
    (x,y)=divmod(N,26)
    amari.append(y)
    N=x
for i in amari[::-1]:
    ans+=lista[i-1]
print(ans)
N = int(input())
risuto = []
while N != 0:
    if N%26 == 0:
        risuto = [26] + risuto
    else:
        risuto = [N%26] + risuto
    if N % 26 == 0 and N // 26 == 1:
        break
    N //= 26
ans = ""
print(risuto)
for i in risuto:
    ans += "abcdefghijklmnopqrstuvwxyz"[i-1]
print(ans)
n=int(input())
ans=''
while n>0:
  ans+=chr(ord('a')+n%26-1)
  n=n//26
print(ans[::-1])
import sys
read = sys.stdin.read
readline = sys.stdin.buffer.readline
INF = float('inf')


def main():
    N = int(readline())
    alphabet = 'zabcdefghijklmnopqrstuvwxyz'
    A = []
    ans = ''
    while N>0:
        ans = alphabet[N%26] + ans
        N//=26
    print(ans)

if __name__ == '__main__':
    main()
ans = []
n = int(input())
while(n!=0):
    x = n % 26
    n //= 26
    ans.append(chr(97+x-1))

ans.reverse()
print(''.join(ans))
N = int(input())
alp = "zabcdefghijklmnopqrstuvwxy"
L = ""
while(True):
    ind = int(N%26)
    N = (N-ind)/26
    L = alp[ind] + L
    if (N==0):
        break
print(L)
import sys

sys.setrecursionlimit(10 ** 8)
ini = lambda: int(sys.stdin.readline())
inm = lambda: map(int, sys.stdin.readline().split())
inl = lambda: list(inm())
ins = lambda: sys.stdin.readline().rstrip()
debug = lambda *a, **kw: print(*a, **kw, file=sys.stderr)

N = ini()


def solve():
    k = 26
    a = k
    l = 1
    name = []
    x = N

    while x > 0:
        c = x % 26
        name.append(chr((c + 25) % 26 + ord("a")))
        x //= 26
    return "".join(reversed(name))


print(solve())
n = int(input())

ans=''
while n > 0:
    ans = chr(ord('a') + (n % 26) -1) + ans
    n //= 26
    
print(ans)
alp = [chr(i) for i in range(97, 97+26)]
N = int(input())
q = N
s = ""
while True:
  q,m = divmod(q,26)
  if m == 0:
    m = 26
    if q == 1:
      q = 0
  s = alp[m - 1] + s
  if q == 0:
    break
print(s)
def num2str(n): # 1,2,3... -> a,b,c,...
	if n == 0:
		return 'z'
	else:
		return chr(ord('a') + n-1)

N = int(input())

ans = ''
while N > 26:
	ans = num2str(N%26) + ans
	N = int(N/26)
ans = num2str(N%26) + ans

print(ans)
import math

import numpy

n = int(input())

x = list(numpy.base_repr(n,26))

s = list("abcdefghijklmnopqrstuvwxyz")

t = list("0123456789")

for i in range(16):
    t.append(s[i].upper())
    
for i in x:
    print(s[t.index(i)-1],end = "")
def main():
    N = int(input())
    ANS = []
    while N > 0:
        ANS.insert(0,chr(N%26+96))
        N = N//26
    print(''.join(ANS))


if __name__ == '__main__':
    main()
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']
ans = ""
for i in range(11, -1, -1):
    if i==0: res=n
    else: res = n//(26**i)
    if res%26 == 0: continue
    else:
        ans += a[res%26-1]
print(ans)
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"]
N = int(input())
ans = ""
while N > 0:
    r = N%26
    N = int(N/26)
    if r == 0:
        ans = al[25] + ans
    else:
        ans = al[r-1] + ans
print(ans)
def main():
    n = int(input())
    num = n
    name = []
    cap = [chr(i) for i in range(97, 97+26)]
    cap.insert(0, 'z')
    del cap[-1]
    if n == 26:
        return 'z'
    while n >= 27:
        last = n % 26 
        n = n // 26
        name.insert(0, cap[last])
    last = (n % 26) - 1
    name.insert(0, cap[last])
    ans = "".join(name)
    return ans
print(main())
n=int(input())
num=n
shisuu=1
ans=""
while num>0:
  num-=26**shisuu
  shisuu+=1
  
for i in range(shisuu-2,-1,-1):
  ans+=chr(ord("a")-1+n//(26**i))
  n=n%(26**i)

print(ans)
import string
Al = string.ascii_lowercase
N = int(input())
S = 0
for i in range(1,16):
    S += 26**i
    if N < S:
        maxi = i
        break
Answer = []
for i in range(maxi):
    j = maxi - (i+1)
    mo = N//(26**j)
    Answer.append(mo)
    N = N-(26**j)*mo
A = str()
for k in range(len(Answer)):
    A = A + (Al[Answer[k]-1])
print(A)
n=int(input())
al=['']
b=[chr(i) for i in range(ord('a'), ord('z')+1)]
al+=b
c=''
while n != 0:
    i = n%26
    n=n//26
    c+=al[i]
c=c[::-1]
print(c)
def Base_10_to_n(X, n):
   #print(X)
   if (int(X/n)):
      return Base_10_to_n(int(X/n), n)+' '+str(X%n)
   return str(X%n)
n = int(input()) -1
an = Base_10_to_n(n,26)
ans = [chr(int(i)+96) for i in an.split()]
if len(ans)>1:
   ans[-1] = chr(ord(ans[0-1]) +1)
print(''.join(ans))
def main():
    n = int(input())
    def Base_10_to_n(X, n):
        if (int(X/n)):
            return Base_10_to_n(int(X/n), n)+' '+str(X%n)
        return str(X%n)
    P = list(map(int, Base_10_to_n(n, 26).split()))
    if P[-1] == 0:
        P = P[:-1]
    ans = [0] * len(P)
    for i, p in enumerate(P):
        ans[i] = chr(96 + p)
    print(''.join(ans))


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

num = 1
while 26**num < n:
    n -= 26**num
    num += 1

r = []
while 25 < n:
    r.append(n % 26)
    n //= 26

r.append(n)

if len(r) < num:
    for i in range(num - len(r)):
        r.append(0)

for i in r[::-1]:
    print(chr(97+i), end='')
def resolve():
    n=int(input())
    a=list('abcdefghijklmnopqrstuvwxyz')
    ans=[]
    while n>0:
        ans.append(a[((n-1)%26)])
        n//=26
    print(''.join(map(str,ans[::-1])))


if __name__ == '__main__':
    resolve()
n=int(input())
l=['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']
z=[]
while n>0:
  r=n%26
  n=n//26
  z.append(r)
s=''
for x in z:
  let=l[x-1]
  s=let+s
print(s)
# ord('a'), chr(97)
N = int(input().rstrip())
ret = []
while N != 0:
    ret.append(chr(96+(N % 26)))
    N = N // 26
print(''.join(ret[::-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 = ""
    i = 1
    while n:
        r = n % 26
        res += L[r - 1]
        n = (n - i) // 26
        i += 1
    print(res[::-1])


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

count = 1
loop = 26
lo = 26

N -= 1

while 1:
  if lo > N:
    break
  count += 1
  lo = loop
  loop *= 26
  lo += loop 

ss = ""

for i in range(count):
  loop //= 26
  print("N:" + (str)(N) )
  print("loop : " + (str)(loop))
  tmp = N // loop
  N %= loop
  tmp += 96
  ss += chr((int)(tmp))

ss =ss[0:-1] +  chr((int)(tmp)+1)

print(ss)
n=int(input())
ans=[]
num2alpha = lambda c: chr(c+64).lower()
while True:
  if num2alpha(n%26)=='@':
    ans.append('z')
  else:
    ans.append(num2alpha(n%26))
  n=n//26
  if n==0:
    break
for i in range(len(ans)):
  print(ans[-1-i], end='')
print()
n = int(input())
ans = ""

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

print(ans[::-1])
n=int(input())
a=[]
while n:
    a+=n%26,
    n//=26
a=a[::-1]
for i in range(len(a)-1,0,-1):
    if not a[i]:
        a[i]=26
        a[i-1]-=1
i=0
while not a[i]:i+=1
print(''.join(chr(c+96)for c in a[i:]))
N = int(input())

L =[]
while N > 1:
  amari = N % 26
  L.append(amari)
  N = N // 26

ans = ''
trans =['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(len(L)):
  ans += trans[L[i]-1]

rans = ''
for i in range(len(ans)-1,-1,-1):
  rans += ans[i]
  
print(rans)
N = int(input())
resulter = "abcdefghijklmnopqrstuvwxyz"
# NS = str(N)

hoge = []
count = 10
while True:
    re = pow(26, count)
    if N > re:
        tmp = N // re
        hoge.append(resulter[tmp - 1])
        N = N - re * tmp
        # count = 10

    count = count - 1
    if count < 1:
        hoge.append(resulter[N - 1])
        break


print("".join(hoge))
word_lst = ['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())
w_lst = []
x = n
p = 1
while x >= 0:
    s = n % 26
    w_lst.append(s)
    x = n - 26**p
    n = x
    p += 1
    
print(w_lst)
ans_lst = []
for d in w_lst:
    ans_lst.append(word_lst[d-1])
print("".join(ans_lst))
n = int(input())
  
moji = [chr(i) for i in range(97, 97+26)]

name = ''
while n > 0:
  wari = n // 26
  name += moji[(n%26)-1]
  n = wari


if ( n > 0 ):
  name += moji[(n%26)-1]


new_str = name[::-1]
print(new_str)
from itertools import count
from string import ascii_lowercase


def get_length(n):
    dogs = 0
    for i in count(1):
        dogs += 26 ** i
        if n <= dogs:
            return i


def get_name(n):
    length = get_length(n)
    if n <= 26:
        return ascii_lowercase[n - 1]
    else:
        return get_name((n - 1) // 26 ** (length - 1)) + get_name(n % 26 ** (length - 1))


N = int(input())
print(get_name(N))
import string
N = int(input())
alphabet = list(string.ascii_lowercase)

def Base_10_to_n(X, n):
    X_dumy = X
    out = []
    while X_dumy>0:
        out.append(X_dumy%n)
        X_dumy = int(X_dumy/n)
    return out

ans = ''
for i in Base_10_to_n(N, 26)[::-1]:
    ans += alphabet[i-1]
print(ans)
import math
N = int(input().rstrip())
alphabet = "abcdefghijklmnopqrstuvwxyz"

# 桁数
m = int(math.log(N, 26)) + 1

ans = ""
val = N
for i in range(1, m):
    val = val // 26
    mod = val % 26
    ans = alphabet[mod-1] + ans

ans += alphabet[N % 26 - 1]
print(ans)
import math
name = input()
i = int(name)
l = []
while i//26 >= 1:
    l.append(i%26)
    i = i//26
l.append(i%26)
l.reverse()
for date in l:
    print(chr(96 + date%26) ,end="")
print()
n = int(input())
res = ''
abc = 'zabcdefghijklmnopqrstuvwxy'
while n>0:
    res = abc[n%26]+res
    n = n//26
print(res)