peterverebics/CodeNet_Python_118 huggingface dataset:
# B - Magic 2


def magic(a, b, c, k):
    i = 0
    while i < k:
        if a > b:
            b = b * 2
        elif b > c:
            c = c * 2
        i += 1
    if a < b and b < c:
        return "Yes"
    else:
        return "No"


if __name__ == "__main__":
    param_a, param_b, param_c = input().split(' ')
    param_k = int(input())
    print(magic(int(param_a), int(param_b), int(param_c), int(param_k)))
a, b, c = map(int, input().split())
k = int(input())

for i in range(k-1):
  if b < a:
    b = b * 2
  elif c < b:
    c = c * 2
  else:
    pass

if (a < b) & (b < c):
    print('Yes')
else:
    print('No')
card=input().split()
k=int(input())
arr=[]
for i in range(len(card)):
    res=int(card[i])*2
    arr.append(res)
if arr[0]<arr[1]<arr[2]:
    print('Yes')
else:
    print('No')
A_list = list(map(int, input().split()))
K = int(input())
sort_ = sorted(A_list)
if(A_list == sort_):
  print("Yes")
  
  
for i in range(K):
  if(A_list[0]>=A_list[1]):
    A_list[1] = A_list[1]*2
  elif(A_list[1]>=A_list[2]):
    A_list[2] = A_list[2]*2
  else:
    exit()
  #print(A_list)
    
    
sort_ = sorted(A_list)
set_ = list(set(A_list))
if(A_list != set_):
  print("No")
elif(A_list == sort_):
  print("Yes")
else:
  print("No")
n=int(input())
res=""
while n!=0:
    mod=n%26
    n=n//26
    if mod==0:
        mod=26
        n-=1
    res+=chr(97+mod-1)
print(res[::-1])
import math
n = int(input())
d = math.floor(math.log(1+(26-1)*n, 26))
position = int(n - (26**d - 1) / (26  - 1))
txt = list('a' * d)
for i in range(d):
    txt[d - i - 1] = chr(ord(txt[d - i - 1])+(position % 26))
    position = position // 26
print(''.join(txt))
#!/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] + ans
  n = (n-1) // 26
print(ans)
n = int(input())

def Base_10_to_n(X, n):
    if (int(X/n)):
        return Base_10_to_n(int(X/n) - 1, n) + chr(97 + X % n)
    return chr(97 + X % n)

print(Base_10_to_n(n - 1, 26))
n = int(input())
n -= 1
a = 0
dig = 1
while a + 26**dig <= n:
    a += 26**dig
    dig += 1
n -= a
ans = []
for i in range(dig):
    ans += [chr(n % 26 + 97)]
    n //= 26
print(''.join(reversed(ans)))
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"]
n = int(input())
ans = []
a = 0
for num in range(1, 12):
  a += 26 ** num
  if n <= a:
    n -= (a - 26 ** num)
    break

for i in range(num, 0, -1):
  for j in range(26):
    if n <= 26 ** (i-1) * (j+1):
      n -= 26 ** (i-1) * j
      ans.append(alpha[j])
      break

print("".join(ans))
from string import ascii_lowercase
from itertools import accumulate


def solve(string):
    n = int(string)
    t = [0] + [len(ascii_lowercase)**i for i in range(1, 12)]
    *t, = accumulate(t)
    l = 0
    ans = ""
    while t[l] < n:
        l += 1
    n -= t[l - 1] + 1
    for i in range(l - 1):
        j, n = divmod(n, len(ascii_lowercase)**(l - i - 1))
        ans += ascii_lowercase[j]
    ans += ascii_lowercase[n]
    return ans


if __name__ == '__main__':
    import sys
    print(solve(sys.stdin.read().strip()))
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())
s = 'abcdefghijklmnopqrstuvwxyz'
ans = ''
while n > 0:
  n, i = divmod(n - 1, 26)
  ans = s[i] + ans
print(ans)
N = int(input())
out = []
def Saiki(N):
  w = N // 26
  z = N % 26
  ca = 1
  if(z == 0):
    w -= 1
    z = 26
  ca += z - 1
  out.insert(0, chr(ca + 96))
  if(w == 0): return
  Saiki(w)
Saiki(N)
print(''.join(out))
digits = "abcdefghijklmnopqrstuvwxyz"

n = int(input())
ans = []

while n:
    n -= 1
    m = n%26
    n = n//26
    ans.append(digits[m])

print("".join(ans)[::-1])
import re
def main():
    n = int(input())
    ans = []
    while n // 26 > 0:
        ans.append(chr(97 + (n-1)%26))
        n = (n - 1) // 26
    if n > 0:
        ans.append(chr(97 + (n-1)%26))

    ans.reverse()
    print("".join(ans))
    return 

if __name__ == "__main__":
    main()
n=int(input())
def nums(num):
    if num<=26:
        return chr(64+num)
    elif num%26==0:
        return nums(num//26-1)+chr(90)
    else:
        return nums(num//26)+chr(64+num%26)
      
print(nums(n).lower())
import math
p=int(input())
ll=["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=0
n=0
prevn=0

while n<1000000000000001:
  a+=1
  prevn=n
  n+=26**a
  if n>=p:
    break
    
p2=p-prevn-1

al=""
for i in range(a):
  s1=math.floor(p2/(26**(a-i-1)))
  al=al+ll[s1]
  p2=p2%26**(a-i-1)

print(al)
import sys
import math
import string

ALPHABET = string.ascii_lowercase
result = []

def alphabet_decimal(v):
    quotient = math.floor(v / len(ALPHABET))
    surplus = v % len(ALPHABET)
    quotient -= 1 if surplus == 0 else 0
    surplus = len(ALPHABET) if surplus == 0 else surplus
    result.append(surplus)
    if len(ALPHABET) < quotient:
        alphabet_decimal(quotient)
    elif len(ALPHABET) < v:
        result.append(quotient)
    return "".join([ALPHABET[i - 1] for i in reversed(result)])

print(alphabet_decimal(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"]
N = int(input())
M = N
v = 1
while True:
    if(M<=26**v):
        break
    M -= 26**v
    v += 1
for i in range(v):
    N -= 26**i  
ans = []
for i in range(v):
    ans.append("a")
for i in range(v):
    ans[-i-1]=al[N%26]
    N = N//26
ans.reverse()
anss = ""
for i in range(len(ans)):
    anss += ans[-i-1]
print(anss)
N = int(input())

alp = "abcdefghijklmnopqrstuvwxyz"
answer = ""

while N != 0:
  N -= 1
  index = N % 26
  answer += alp[index]
  N = N // 26
  
print(answer[::-1])
N = int(input())
p = N
s = []
abt = "abcdefghijklmnopqrstuvwxyz"
ans = ""

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

for i in s[::-1]:
    ans += abt[i]

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

ans = ""

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

print(ans[::-1])
from collections import deque

def main():
    N = int(input())
    l = deque()
    mozi = list("abcdefghijklmnopqrstuvwxyz")
    a, b = divmod(N, 26)
    N -= 1

    while True:
        a, b = divmod(N, 26)
        l.appendleft(mozi[b])
        N = a
        N -= 1
        if a == 0:
            break

    print("".join(l))


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)

s = int(input())

n = num2alpha(s)

print(n.lower())
n = int(input())
ans = ''
while n:
  ans = chr((n-1)%26+ord('a')) + ans
  if n % 26 == 0:
    n = n//26-1
  else:
    n = n//26
print(ans)
n = int(input())
s = 'abcdefghijklmnopqrstuvwxyz'
ans = ''
while n > 0:
    n -= 1
#    print(n//26,n%26)
    ans = s[n%26] + ans
    n = n // 26
print(ans)
n  = int(input()) - 1

def f(n):
    p = 0
    ans=[]
    while True:
        if n >= 26**(p+1):
            n -=26**(p+1)
            p+=1
        else:
            for i in range(p+1):
                ans.append( chr( ord('a') + n%26 ) )
                n //= 26
            break
    print(''.join(reversed(ans)))

f(n)
N = int(input())

def dog(n, b):
    arr = ["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 (int(n/b)):
        return dog(int(n/b)-1, b) + str(arr[n%b])
    
    return str(arr[n%b])

print(dog(N-1,26))
def f(x):
    x -= 1
    if (int(x / 26)):
        return f(int(x/26)) + chr((x % 26) + 97)
    return chr((x % 26) + 97)


n = int(input())

print(f(n))
def C():
    n = int(input())
    ret = [None]*12
    q = n
    for i in range(12):
        q,mod = divmod(q,26)
        if mod == 0:
            ret[i] = "z"
            q -= 1
        else:
            ret[i] = chr(mod+96)
        if q == 0:
            break
    ret = ret[:i+1]
    ret.reverse()
    print("".join(ret))
C()
N = int(input()) 
ans=""
while N>0:
    N -= 1
    ans += chr(ord('a') + N % 26) 
    N //= 26
print(ans[::-1])
no = "abcdefghijklmnopqrstuvwxyz"

def main():
    N = int(input())
    ans = ""
    while N > 0:
        N -= 1
        ans += no[N % 26]
        N //= 26
    return ans[::-1]

if __name__ == '__main__':
    print(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)

print(num2alpha(int(input())).lower())
def n2a(num):
  if num <= 26:
    return chr(ord("a")+num-1)
  elif num % 26 == 0:
    return n2a(num//26 - 1) + chr(ord("z"))
  else:
    return n2a(num//26) + chr(ord("a")-1 + num%26)
    


N = int(input())

print(n2a(N))
N = int(input())
ans = []

while True:
  if N%26 == 0:
    ans.append('z')
  else:
    ans.append(chr(N%26+96))
  N = (N-1)//26
  if N == 0:
    break
ans.reverse()
print(''.join(ans))
num=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(num).lower()

print(ans)
# -*- coding: utf-8 -*-
n=int(input())
namelist=[]
name=''
while n>0:
  n-=1
  namelist.append(chr(ord('a')+n%26))
  n=int(n/26)
for i in namelist[::-1]:
  name+=i
print(name)
N = int(input())
N -= 1
S = chr(N % 26 + 97)
N //= 26
while N > 0:
  N -= 1
  S += chr(N % 26 + 97)
  N //= 26
print(S[::-1])
import sys

read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines

N = int(read())

def main(N):
  A = [1]
  for _ in range(100):
    A.append(A[-1] * 26)
  for n in range(1, 100):
    if N > A[n]:
      N -= A[n]
      continue

    N -= 1
    ret = []
    
    for _ in range(n):
      N, r = divmod(N, 26)
      ret.append(r)
    break
  ret = [chr(ord('a') + x) for x in ret]
  return ''.join(reversed(ret))
 
print(main(N))
import copy
N = int(input())
keta = 1
n = copy.deepcopy(N)
flag = True
while flag:
    if n-1 >= 26**keta:
        n -= 26**keta
        keta += 1
    else:
        flag = False
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))
# -*- coding: utf-8 -*-
def conv(a): #convert the num to character
  a += 97
  return chr(a)

# 整数の入力
n = int(input())
name = ''

while n>0:
  n -= 1
  name += conv(n%26)
  n //= 26

# 出力
print(name[::-1])
def main():
    from string import ascii_lowercase
    N = int(input())

    ans = []
    while N > 0:
        N -= 1
        N, i = divmod(N, 26)
        ans.append(ascii_lowercase[i])

    ans = ''.join(reversed(ans))

    print(ans)


if __name__ == '__main__':
    main()
def main():
    num = int(input())
    l = list('abcdefghijklmnopqrstuvwxyz')
    name = []
    ans = ''

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

    name.reverse()

    for i in name:
        ans = ans + i
    print(ans)


main()
n = int(input())
s = []
while n!=0:
    if n<=26:
        s.append(n)
        n = 0
    else:
        x = n % 26
        #余りが0の場合には26にする
        if not x:
            x = 26
        s.append(x)
        n = (n - 1) // 26
t = []
#求めた順番とは逆に並べる
for i in range(len(s)-1,-1,-1):
    t.append(chr(s[i]+96))
print(''.join(t))
N = int(input())
ans = ''
while N > 0:
	N -= 1
	ans += chr(ord('a') + N % 26)
	N //= 26
print(ans[::-1])
n = int(input())

n -= 1

a = []
while True:
  a.append(n % 26)
  n //= 26
  if not n:
    break
  n -= 1
name = ''.join([chr(ord('a') + c) for c in a])
print(name[::-1])
N=int(input())
ans=""
while N>0:
    tmp=(N-1)%26
    ans=chr(int(tmp)+97)+ans
    N=int((N-tmp)/26)
print(ans)
n = int(input())
number = ""

while n != 0:
    n = n - 1
    number += (chr(n % 26 + 97))
    n = n // 26
number = number[::-1]
print(number)
import sys
import math
import itertools
import collections
import heapq
import re
import numpy as np

rr = lambda: sys.stdin.readline().rstrip()
rs = lambda: sys.stdin.buffer.readline().split()
ri = lambda: int(sys.stdin.readline())
rm = lambda: map(int, sys.stdin.buffer.readline().split())
rl = lambda: list(map(int, sys.stdin.readline().split()))
inf = float('inf')
mod = 10**9 + 7

n = ri() - 1
li = []
while n >= 26:
  a = n%26
  li.append(a)
  n //= 26
  n -= 1
li.append(n)  
li.reverse()
ans = ''
for i in li:
  s = 'abcdefghijklmnopqrstuvwxyz'[i]
  ans += s
print(ans)
N = int(input())
L = list("abcdefghijklmnopqrstuvwxyz")
a = 1
while N > 26**a:
    N = N - 26**a
    a += 1
 
pre = []
for i in reversed(range(1,a)):
    r = (N-1) // 26**i
    pre.append(r)
    N = int(N%(26**i))
 
ans = ''
for i in pre:
    ans += L[i]
print(ans+L[N-1])
n = int(input())
s = 'abcdefghijklmnopqrstuvwxyz'
ans = ''
while n > 0:
    n -= 1
    q, r = divmod(n, 26)
    ans += s[r]
    n = q
print(ans[::-1])
N = int(input().strip())

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

print(ans)
N = int(input())
a = N%26
next = int(N/26)
b = N%26
next = int(N/26)
a=[]
answer=[]
for i in range(20):
  if (N > 26) and (N%26)!=0:
    a.append(N%26)
    N = int(N/26)
  elif (N > 26) and (N%26)==0:
    a.append(26)
    N = int((N-1)/26)
  else:
    a.append(N)
    break
for i in range(len(a)):
  answer.append(chr(ord('a')+a[i]-1))
mojiretu = ' '
for x in reversed(answer):
    mojiretu += x
print(mojiretu)
s = "abcdefghijklmnopqrstuvwxyz"

def fA(N):
  if N <= 26: return s[N-1]
  a = (N-1) // 26
  b = N % 26

  return fA(a) + fA(b)

N = int(input())
print(fA(N))
# for N in range(710):
#   print(N, fA(N))
import sys
input = lambda : sys.stdin.readline().rstrip()
sys.setrecursionlimit(max(1000, 10**9))
write = lambda x: sys.stdout.write(x+"\n")



n = int(input())
l = [chr(v) for v in range(ord("a"), ord("z")+1)]

ans = []
while n>0:
    n -= 1
    i,j = n//26, n%26
    ans.append(l[j])
    n = i
# ans.append(l[n])
print("".join(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())
ans = (num2alpha(N)).lower()
print(ans)
N = int(input())
ans = ''
while N > 0:
  N -= 1
  ans += chr(ord('a') + N % 26)
  N //= 26
print(ans[::-1])
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())

ans = ''

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

print(ans[::-1])
n=int(input())
name=""
for i in range(15):
  n=n-1
  name=name+chr(97+n%26)
  n=n//26
  if n==0:
    break
print(name[::-1])
import sys

sys.setrecursionlimit(10 ** 9)

asc2en = lambda x: chr(x + 97)
N = int(input())


def rec(N):
    if (N - 1) // 26:
        return rec((N - 1) // 26) + asc2en((N - 1) % 26)
    return asc2en((N - 1) % 26)


print(rec(N))
n = int(input()) - 1

al = 'abcdefghijklmnopqrstuvwxyz'

def c_a(d, cs):
  nd = d // 26
  cd = d % 26
  if nd >= 26:
    cs = c_a(nd - 1, cs) + al[cd]
  elif nd == 0:
    cs = al[cd]
  else:
    cs = al[nd - 1] + al[cd]
  return cs

print(c_a(n, ''))
N=int(input())-1
L=[]
S=[]
A=[chr(i) for i in range(97,123)]
X=""
while N>=0:
  if N==0:
    L.append(N%26)
    N=N//26
    break
  elif N!=0:
    L.append(N%26)
    N=N//26-1
S=list(reversed(L))
for i in range(len(S)):
  X+=A[S[i]]
print(str(X))
n=int(input())
out=""
n=n-1
while n>=0 :
    out+=chr(ord("a")+n%26)
    n=n//26-1
print(out[::-1])
n = int(input())
def numalpha(num):
    if num <= 26:
        return chr(64+ num)
    elif num % 26 == 0:
        return numalpha(num // 26-1) + chr(90)
    else:
        return numalpha(num//26) + chr(64 + num % 26)
print(numalpha(n).lower())
from collections import deque

N = int(input())
amari = []

if N <= 26:
    print(chr(96+N))

else:
    while True: 
        N -= 1

        am = N % 26
        N = N // 26 
        amari.append(am)
        if N == 0:
            break

    answer = deque()
    for i in amari:
        answer.appendleft(chr(97+i))

    for i in answer:
        print(i, end='')
N=int(input())

def num2alpha(num):
    if num<=26:
        return chr(96+num)
    elif num%26==0:
        return num2alpha(num//26-1)+'z'
    else:
        return num2alpha(num//26)+chr(96+num%26)
print(num2alpha(N))
n = int(input())
tmp = n
ans = ""

i = 1

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

    n = n // 26

print(ans[::-1])
N = int(input())
string = ""
while N > 0:
    N, remainder = divmod(N - 1, 26)
    string = chr(97 + remainder) + string
print(string)
n=int(input())
ans=''
check='abcdefghijklmnopqrstuvwxyz' #c(a)-1=0,c(b)-1=1,…,c(z)-1=25を対応づける文字列
while n!=0:
 n-=1
 ans+=check[n%26] #(n-1)%26がc(Sk)-1を表すので、上記の文字列を用いてc(Sk)-1からSkを求める
 n//=26
print(ans[::-1])
from sys import stdin
N = int(stdin.readline().rstrip())
ans = ''
while N > 0:
    N -= 1
    ans += chr(ord('a')+N%26)
    N //= 26
print(ans[::-1])
import sys
def input(): return sys.stdin.readline().rstrip()
def main():
    n = int(input())
    ans = ""
    while n > 0:
        n -= 1
        ans = chr(n%26 + ord('a')) + ans
        n //= 26
    print(ans)

if __name__=='__main__':
    main()
n = int(input())
h = []
tmp = ["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:
    mod = n % 26
    h.append(mod)
    n //= 26
    if mod == 0:
        n -= 1
h.reverse()
for i in h:
    name += tmp[i - 1]
print(name)
n=int(input())
i=0
pl=list()
while True:
    i=i+1
    if (26*(1-26**(i-1)))/(1-26)+1<=n and n<=(26*(1-26**(i-1)))/(1-26)+26**i:
        break
a=n-(26*(1-26**(i-1)))/(1-26)-1
for l in range (i):
    a,b=divmod(a,26)
    pl.insert(0,(chr(int(b)+97)))
print("".join(pl))
import sys

if __name__ == '__main__':
    n = int(sys.stdin.readline().rstrip())
    ans = ''
    while True:
        n -= 1
        ans += chr(65+32+(n % 26))
        if n < 26:
            break
        n = n // 26
    print(ans[::-1])
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])
def f(n):
    if n == 0: return ""
    n -= 1
    return (f(n // 26) + chr(ord("a") + n % 26))

def main():
    from builtins import int, map, list, print
    import sys
    sys.setrecursionlimit(10 ** 6)

    input = (lambda: (sys.stdin.readline()).rstrip())
    input_list = (lambda: input().split())
    input_number = (lambda: int(input()))
    input_number_list = (lambda: list(map(int, input_list())))

    n = input_number()
    ans = f(n)
    print(ans)

if __name__ == '__main__':
    main()
N = int(input())-1
l = len(str(N))

ans = ''

if N == 0:
    print('a')
    exit(0)

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

print(ans)
def main():
    name = ['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())
    y = N
    ans = []
    for i in range(100):
        y -= 1
        x = y%26
        y = y//26
        ans.insert(0,name[x])
        if y == 0:
            break
    
    
    print(''.join(ans))
    
if __name__ == '__main__':
    main()
n = int(input())
ans = ''
al = 'abcdefghijklmnopqrstuvwxyz'
while n>0:
    n -= 1
    ans += al[n%26]
    n //= 26
print(ans[::-1])
n = int(input())
al=["z"]+[chr(ord('a') + i) for i in range(25)]
result = ""
while n>0:
    if n%26 !=0:
        result = al[n%26]+result
        n //= 26
    else:
        result = al[n%26]+result
        n //= 26
        n -= 1
print(result)
alfa=['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']
n = int(input())
ans=''
while n>0:
    ans+=alfa[n%26]
    n=n-1
    n=n//26

print(ans[::-1])
def main():
    suu="abcdefghijklmnopqrstuvwxyz"#26
    n=int(input())
    puts=""
    if n<27:#その数より小さい
        print(suu[n-1])
        return
    while True:
        temp=n%26
        n//=26
        puts=suu[temp-1]+puts
        if temp==0:#補正
            n-=1
        if n<27:
            puts=suu[n-1]+puts
            break
    print(puts)
if __name__ == "__main__":
    main()
n = int(input())
l = []
while(n > 0):
  n -= 1
  l.append(chr(97+(n%26)))
  n = n//26
for i in l[::-1]:
    print(i,end="")
print("")
from string import ascii_lowercase

N = int(input())
l = []

while N != 0:
    N -= 1
    l.append(N%26)
    N //= 26
print("".join(ascii_lowercase[x] for x in l[::-1]))
def main():
    n = int(input())

    t = 1

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

    ans = ans[::-1]

    print(ans)


if __name__ == '__main__':
    main()
N = int(input())
d = "abcdefghijklmnopqrstuvwxyz"
ans = ""
N -= 1

while(N >= 0):
    ans += d[N % 26]
    N //= 26
    N -= 1
    
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())

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

k = 1
n1 = n

while n1-26**k>0:
	n1 = n1-26**k
	k+=1

ans = ''

ans = c[n1%26]+ans

for i in range(k-1):
	if n1%26!=0:
		n1 = n1//26+1
	else:
		n1 = n1//26
	ans = c[n1%26]+ans

print(ans)
n = int(input())
ans = ''
l = []
while n>0:
    w = chr(96+n%26)
    if not n%26:
        w = 'z'
        n-=26
    l.append(w)
    n = int(n//26)
l.reverse()
ans = ''.join(l)
print(ans)
N = int(input())
al = 26
i = 1
while N > al**i:
    N -= al**(i)
    i += 1
ans = ''
a = ord('a')
while i > 0:
    ans += chr(a + (N-1) // al**(i-1))
    N = (N-1) % al**(i-1) + 1
    i -= 1
print(ans)
a = "zabcdefghijklmnopqrstuvwxy"
number = int(input())
result = ""
for i in range(13):
    result += a[int(number % 26)]
    if number % 26 == 0:
        number -= 26
    if number // 26  == 0:
        break
    number = number // 26
result = result[::-1]
print(result)
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())
s = ""
al = "abcdefghijklmnopqrstuvwxyz"
 
while n > 0:
  o = (n-1) % 26
  n = (n-1) // 26
  s += al[int(o)]
 
print(s[::-1])
import sys

def main(n):
    c = "abcdefghijklmnopqrstuvwxyz"
    m = {}
    for i in range(0, 26):
        m[i+1] = c[i]

    s = ""
    while n > 0:
        if n%26 == 0:
            t = 26
            n //= 26
            n -= 1
        else:
            t = n%26
            n //= 26
        s = m[t] + s
    return s

n = int(sys.stdin.readline().strip())
print(main(n))
n = int(input())
alpha_arr = [chr(i) for i in range(97, 97+26)]
ans = []
while n > 0:
    n -= 1
    ans.insert(0, alpha_arr[n % 26])
    n //= 26
print(''.join(ans))
N=int(input())
N_26=[]

while N>0:
    N-=1
    N_mod=N%26
    N=N//26
    N_26.append(chr(97+N_mod))
print("".join(list(reversed(N_26))))
n = int(input()) - 1
ans = []
alp = [chr(i) for i in range(97, 97+26)]
while n >= 0:
    ans.append(alp[n % 26])
    n = (n // 26) - 1

print("".join(reversed(ans)))