Problem:
 Score : 300 points    Problem Statement 1000000000000001 dogs suddenly appeared under the roof of Roger's house, all of which he decided to keep. The dogs had been numbered 1 through 1000000000000001 , but he gave them new names, as follows:   the dogs numbered 1,2,\cdots,26 were respectively given the names a , b , ..., z ;  the dogs numbered 27,28,29,\cdots,701,702 were respectively given the names aa , ab , ac , ..., zy , zz ;  the dogs numbered 703,704,705,\cdots,18277,18278 were respectively given the names aaa , aab , aac , ..., zzy , zzz ;  the dogs numbered 18279,18280,18281,\cdots,475253,475254 were respectively given the names aaaa , aaab , aaac , ..., zzzy , zzzz ;  the dogs numbered 475255,475256,\cdots were respectively given the names aaaaa , aaaab , ...;  and so on.   To sum it up, the dogs numbered 1, 2, \cdots were respectively given the following names:  a , b , ..., z , aa , ab , ..., az , ba , bb , ..., bz , ..., za , zb , ..., zz , aaa , aab , ..., aaz , aba , abb , ..., abz , ..., zzz , aaaa , ...  Now, Roger asks you:  "What is the name for the dog numbered N ?"      Constraints  N is an integer.  1 \leq N \leq 1000000000000001         Input Input is given from Standard Input in the following format:  N       Output Print the answer to Roger's question as a string consisting of lowercase English letters.        Sample Input 1 2      Sample Output 1 b       Sample Input 2 27      Sample Output 2 aa       Sample Input 3 123456789      Sample Output 3 jjddja

Solution (Python):
N = int(input())
lst = "abcdefghijklmnopqrstuvwxyz"

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

Solution (Python):
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)

Solution (Python):
n=int(input())

ans=""
while n>0:
    n -=1
    n,b=divmod(n,26)
    ans +=chr(97+b)

print(ans[::-1])

Solution (Python):
n = int(input())
alf = "0abcdefghijklmnopqrstuvwxyz"
ans = ""

while n != 0:
    x = n%26
    
    if x == 0:
        x = 26
        
    ans += alf[x]
    n -= x
    n //= 26

print(ans[::-1])

Solution (Python):
n = int(input())
ret = ""
alphabet = list("abcdefghijklmnopqrstuvwxyz")
while n:
  n -= 1
  n, mod = divmod(n, 26)
  ret += alphabet[mod]
print(ret[::-1])

Solution (Python):
N = int(input())

az = 'abcdefghijklmnopqrstuvwxyz'
ans = ''

while N:
    N -= 1
    ans = az[N%26] + ans
    N = N // 26

print(ans)

Solution (Python):
N = int(input())

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

Solution (Python):
n = int(input())

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

Solution (Python):
import sys , math
from bisect import bisect
N=int(input())
alp="abcdefghijklmnopqrstuvwxyz"

R=[]
i=1
tot = 0
while tot < 1000000000000001:
    tar = 26**i
    tot+=tar
    R.append(tot+1)
    i+=1
keta = bisect(R , N)+1

if keta == 1:
    print(alp[N-1])
    sys.exit()

ans = ""
M = N - R[keta - 1]
for i in range(keta):
    j = keta - i - 1
    ind = M // (26**j)
    M -= ind * (26**j)
    ans+=alp[ind]
print(ans)

Solution (Python):


def main():
    N = int(input())
    digits = []

    while N != 0:
        digits.append(N % 26)
        if digits[-1] == 0:
            digits[-1] = 26
            N //= 26
            N -= 1
        else:
            N //= 26
    digits.reverse()
    for d in digits:
        print(chr(96 + d), end='')
    print()  


if __name__ == '__main__':
    main()

Solution (Python):
A = int(input())
az = 'zabcdefghijklmnopqrstuvwxy'
ans = ''
abc = 'abcdefghijklmnopqrstuvwxyz'

while (A):
  A -= 1
  ans = abc[A % 26] + ans
  A = A // 26
print(ans)

Solution (Python):
A = int(input())
az = 'zabcdefghijklmnopqrstuvwxy'
ans = ''

while A / 26 > 0:
  ans = az[A%26] + ans
  A = (A-1) // 26
print(ans)

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

Solution (Python):
n=int(input())
a="zabcdefghijklmnopqrstuvwxy"
b=""
while n/26>0:
  b=a[n%26]+b
  n=(n-1)//26
print(b)

Solution (Python):
N = int(input())
s = 1
t = 0
while N > 26**s + t:
    t += 26**s
    s += 1
N -= t
ans = []
for i in range(s):
    c = 0
    while N > 26**(s-i-1):
        N -= 26**(s-i-1)
        c += 1
    ans.append(chr(97+c))
print("".join(ans))

Solution (Python):
n = int(input())
ans = ''

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

print("".join(list(ans[::-1])))

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

    alphabets = 'zabcdefghijklmnopqrstuvwxy'
    answer_reversed = ''
    for i in range(100):
        idx = n % 26
        answer_reversed += alphabets[idx]
        if idx == 0:
            n -= 26
        else:
            n -= idx
        if n:
            n = n // 26
        else:
            break
    print(answer_reversed[::-1])


if __name__ == '__main__':
    main()

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

Solution (Python):
n=int(input())
a=26
b=1
import math
import string
array=list(string.ascii_lowercase)
while n>a:
  b+=1
  a+=26**b
if b==1:
  print(array[n-1])
else:
  c=b-1
  d=n-a
  brray=[0]
  crray=[d]
  for i in range(c):
    brray.append(math.ceil(crray[i]/(26**(c-i))))
    crray.append(crray[i]%(26**(c-i)))
  ans=array[brray[1]-1]
  if c>1:
    for j in range(2,b):
      ans=ans+array[brray[j]-1]
  ans=ans+array[crray[c]-1]
  print(ans)

Solution (Python):
n = int(input())

def calc(m, res):
        q, mod = divmod(m, 26)
        if (mod == 0):
            q = q - 1
            mod = 26
            res = chr(ord("a") + (mod - 1)) + res
        else:
            res = chr(ord("a") + (mod - 1)) + res
        if (q > 0):
            calc(q, res)
        else:
            print(res)
        return
    
calc(n, "")

Solution (Python):
n=int(input())

s = ''
for i in range(11):
  if n != 0:
    n -= 1
    s += chr(ord('a') + n % 26)
    n //= 26
print(s[::-1])

Solution (Python):
alfa = "0abcdefghijklmnopqrstuvwxyz"
N = int(input())
n = N
res = ""
while True:
    x = n % 26
    if x == 0:
        x = 26
    res += alfa[x]
    n -= x
    if n == 0:
        break
    n //= 26
print(res[::-1])

Solution (Python):
N = int(input())
ans = ""
while N > 0:
    N -=1
    ans = chr(ord("a") + (N%26)) + ans
    N //= 26
print(ans)

Solution (Python):
N = int(input())

alp = "abcdefghijklmnopqrstuvwxyz"
answer = ""

while N != 0:
  N -= 1
  index = N % 26
  answer += alp[index]
  N = N // 26
  
print(answer[::-1])

Solution (Python):
import string

n = int(input())
s = ''
lowCase = string.ascii_lowercase

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

print(s[::-1])

Solution (Python):

"""
Created on Mon Sep  7 02:42:25 2020

@author: liang
"""

"""
n進数問題
【原則】　大きな数の計算をしない
　⇒　１の桁から計算する
 
171-C いびつなn進数

27 -> a(26)a(1)となる
　⇒先にa(1)だけもらってN%26とすることで解決
 
ASCII化 ord()
文字化　chr()
"""

N = int(input())

res = str()

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

print(res[::-1])

Solution (Python):
alp = 'abcdefghijklmnopqrstuvwxyz'
n = int(input())
keta = 0
a = 0
answer = ''
while a < n:
    keta += 1
    a += 26**keta
a -= 26**keta
n -= a+1
for i in range(keta-1):
    answer += alp[n // (26 ** (keta-i-1))]
    n = n % (26 ** (keta-i-1))
answer += alp[n % 26]
print(answer)

Solution (Python):
def numtoalpha(n):
	
	if n <= 26:
		return chr(96+n)
	elif n % 26 == 0:
		return numtoalpha(n//26-1) + chr(96+26)
	else :
		return numtoalpha(n//26) + chr(96+(n%26))

if __name__ == '__main__':

	n = int(input())

	print(numtoalpha(n))

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

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

Solution (Python):
import math
n = int(input())

num = int(math.log(1000000000000001, 26))



y, z = n, n
y_lis = []

for i in range(100):
    if z >= 1:
        y_lis.append(z % 26)
        z = z // 26
    elif z == 0:
            break



for i in range(len(y_lis) - 1):
    if y_lis[i] <= 0:
        y_lis[i] = y_lis[i] + 26
        y_lis[i + 1] -= 1

if y_lis[-1] == 0:
    y_lis.remove(y_lis[-1])

y_lis = list(reversed(y_lis))
ans = ""
for i in range(len(y_lis)):
    y_lis[i] = chr(y_lis[i] + 96)
    ans += y_lis[i]
print(ans)

Solution (Python):
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.lower())

Solution (Python):
def one_and_one():
    lis = list("abcdefghijklmnopqrstuvwxyz")
    N = int(input())
    res = ""
    n = N - 1
    while n >= 0:
        res = lis[n % 26] + res
        n = n // 26 - 1
    print(res)
    
one_and_one()

Solution (Python):
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()

Solution (Python):
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()

Solution (Python):
n = int(input())

digits = []
letters = ''

while n > 0:
    digits.append((n-1) % 26)
    n = (n -1) // 26

for x in digits[::-1]:
    letters += chr(x+97)
print(letters)

Solution (Python):
def main():
    n = int(input())
    alp = 'abcdefghijklmnopqrstuvwxyz'
    answer = ''

    while n >= 1:
        n -= 1
        answer += alp[n % 26]
        n //= 26

    real_answer = ''
    for i in range(1, len(answer) + 1):
        real_answer += answer[-i]

    print(real_answer)


if __name__ == '__main__':
    main()

Solution (Python):
n = int(input())
ans = ''
while n != 0:
    n -= 1
    ans += chr(ord('a') + n % 26)
    n //= 26

print(ans[::-1])

Solution (Python):
from collections import deque  

letter = ['z'] + [chr(i) for i in range(97, 123)]  

N = int(input())

i = 0
n_24 = deque()

while N > 0:
    n_24.appendleft(N % 26)
    if N%26== 0:
        N -= 26
    N = N // 26

ans = ''

for dig in (n_24):
    ans += letter[dig]

print(ans)

Solution (Python):
N = int(input())

ans = ''

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

print(ans[::-1])

Solution (Python):
n = int(input())

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

print(out[::-1])

Solution (Python):
N = int(input())
ans = ""

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

Solution (Python):
def resolve():
    N = int(input())
    ans = ""
    while N > 0:
        rem = N % 26
        rem = 25 if rem == 0 else rem - 1
        ans = chr(ord("a")+rem) + ans
        N = (N-1) // 26
    print(ans)


if '__main__' == __name__:
    resolve()

Solution (Python):
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])

Solution (Python):
import sys
input = sys.stdin.readline




'''
a=[]
b=[]
for i in range():
    A, B = map(int, input().split())
    a.append(A)   
    b.append(B)'''

n=int(input())

a=""

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

for i in range(len(l))[::-1]:
    a+=chr(97+l[i])
print(a)

Solution (Python):
n = int(input())
ans = ""
check = "abcdefghijklmnopqrstuvwxyz"

while n != 0:
    n -= 1
    ans += check[n % 26]
    n //= 26

print(ans[::-1])

Solution (Python):
n=int(input())
ans=""
while n>0:
    
    c=chr((n-1)%26 + 97)
    ans = c+ans
    n = (n-1)//26
    
print(ans)

Solution (Python):
from itertools import accumulate
import numpy as np
N=int(input())
N-=1
L=[26**(i+1) for i in range(15)]
sL=list(accumulate(L))
result=[]
k=0
for i in range(15):
    if N+1<=sL[i] and N>=25:
        N-=sL[i-1]
        k=i
        break
for m in range(k):
    time=0
    while N>=L[k-m-1]:
        N-=L[k-m-1]
        time+=1
    result.append(chr(time+97))
result.append(chr(N+97))
print(''.join(result))

Solution (Python):
n = int(input())
s = 0
lst = []
al = [chr(ord('a') + i) for i in range(26)]

while True:
  if n == 0:
    break
  else:
    b = n%26
    if b == 0:
      b = 26
      n = (n-26)//26
    else:
      n = n//26
    
    lst.append(al[b-1])

lst.reverse()
x = ''.join(lst)
print(x)

Solution (Python):

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()

Solution (Python):
n=int(input())


y=[]
for i in range(12):
  y.insert(0,chr(97+(n-1)%26))
  if (n-1)//26>=1:
    n=(n-1)//26
  else:
    break
    

print(''.join(y))

Solution (Python):
def alp(c):
    return chr(c+64)

def Base10to(n,k):
    if(int(n/k)):
        if n%k ==0 and n/k==1:
            return str(alp(26))
        elif n%k ==0:
            return Base10to(int((n/k)-1),k)+str(alp(26))
        else:
            return Base10to(int(n/k),k)+str(alp(n%k))
    return str(alp(n%k))

n = int(input())
k = 26

ans = Base10to(n,k)
print(ans.lower())

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

Solution (Python):
n = int(input())
ans = []
while(n > 0):
    x = n %  26
    n = n // 26
    if(x == 0):
        x = 26
        n -= 1
    ans.append(chr(x + ord('a') -1))
    
ans.reverse()
print("".join(ans))

Solution (Python):
n = int(input())

abc = 'abcdefghijklmnopqrstuvwxyz'
ans = ''
while n:
    n -= 1
    n, m = divmod(n, 26)
    ans = abc[m] + ans
print(ans)

Solution (Python):



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

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

Solution (Python):
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)

Solution (Python):
N = int(input())
ls = []
while N > 0:
    N -= 1
    a = N % 26
    N //= 26
    ls.append(a+97)
print("".join(map(chr, reversed(ls))))

Solution (Python):
eList = [chr(i) for i in range(97, 97+26)]
N = int(input())

n = N
mod = N
numList = []

while n > 0:
    n, mod = divmod(n, 26)
    if mod != 0:
        
        
        numList.insert(0, mod - 1)
    else:
        numList.insert(0, 25)
        
        n -= 1

ans = ''
for num in numList:
    ans += eList[num]
print(ans)

Solution (Python):
N = int(input())

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

N = N - 1

tmp1 = 0
for i in range(1, 1000):
    tmp1 += 26 ** i
    if tmp1 > N:
        num = i
        tmp1 -= 26 ** i
        N -= tmp1
        break

tmp = [0 for _ in range(num)]
for i in range(num):
    tmp[i] = N%26
    N = N // 26

ans = ""
for i in range(len(tmp)):
    ans = az[tmp[i]] + ans

print(ans)

Solution (Python):
N = int(input())
eList = ['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 = N
mod = N
numList = []
 
while n > 0:
  n, mod = divmod(n,26)
  if mod != 0:
    numList.insert(0, mod - 1)
  else:
    numList.insert(0, 25)
    n -= 1
ans =''
for num in numList:
  ans += eList[num]
print(ans)

Solution (Python):
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())

Solution (Python):
'''
Created on 2020/08/31

@author: harurun
'''
def main():
  import sys
  pin=sys.stdin.readline
  pout=sys.stdout.write
  perr=sys.stderr.write

  N=int(pin())
  ans=""
  while N:
    N-=1
    ans+=chr(97+N%26)
    N=N//26
  print(ans[::-1])
  return
main()

Solution (Python):
N = int(input())
alpha = 'abcdefghijklmnopqrstuvwxyz'
ans = ''
while N > 0:
  N -= 1
  ans += alpha[N%26]
  N //= 26
print( ans[::-1])

Solution (Python):
n=int(input())

alphabet="abcdefghijklmnopqrstuvwxyz"
def get_keta(n):
    i=1
    check=26
    while True:
        if n<=check:
            return i
        check=check*26+26
        i+=1

def get_new_n(n, keta):
    new_n = n
    for i in range(1, keta):
        new_n -= 26 ** i
    return new_n

keta=get_keta(n)
n=get_new_n(n,keta)-1
ans=[]
for i in range(keta):
    ans.append(alphabet[n%26])
    n-=n%26
    n=n//26

print("".join(ans)[::-1])

Solution (Python):
N = int(input())
l = ""
while N > 0:
  N -= 1
  l += chr(ord("a") + N % 26)
  N //= 26
print(l[::-1])

Solution (Python):

import sys
import string

l = [c for c in string.ascii_lowercase]
def f(N: int):
    N -= 1
    if N // 26:
        return f(N//26) + l[N%26]
    else:
        return l[N%26]

def solve(N):
    print(f(N))


def main():
    def iterate_tokens():
        for line in sys.stdin:
            for word in line.split():
                yield word
    tokens = iterate_tokens()
    N = int(next(tokens))  
    solve(N)

if __name__ == '__main__':
    main()

Solution (Python):
def solve():
    N = int(input())

    lb, ub = 0, 0
    for n_digit in range(1, 100):
        lb = ub + 1
        ub = (ub + 1) * 26
        if lb <= N <= ub:
            off = N - lb
            res = []
            while off > 0:
                off, r = divmod(off, 26)
                res.append(r)
            while len(res) < n_digit:
                res.append(0)
            res.reverse()
            res = ''.join([chr(ord('a') + x) for x in res])
            return res
    
print(solve())

Solution (Python):
n=int(input())
a=[]
while n>26:
    n=n-1
    a.append(chr(ord('a') + n%26))
    n=n//26

n=n-1
a.append(chr(ord('a') + n%26))
a.reverse()
print("".join(a))

Solution (Python):
n = int(input())

str = ""

while 1:
    n, mod = divmod(n, 26)
    if mod == 0:
        str = 'z' + str
        n -=1
    else:
        str = chr(96+mod) + str

    if n == 0:
        break

print(str)

Solution (Python):
def f(n):
    if n == 0:
        return ""
    n-=1
    return f(n//26) + chr(97 + n%26)

n = int(input())
print(f(n))

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

Solution (Python):
n = int(input())
str = ''
a = ord('a') - 1
while True:
  z = n % 26 if n % 26 > 0 else 26
  str = chr(a + z) + str 
  n = n // 26 if n % 26 > 0 else n // 26  -1
  if n == 0:
    print(str)
    break

Solution (Python):
alpha = [chr(i + 97) for i in range(26)] 
N = int(input())
name = ''
while N >= 1:
  N -= 1
  _ = N % 26
  name += alpha[_]
  N //= 26
  
print(name[-1::-1])

Solution (Python):
N = int(input())
M = 26
n = 0
m = 1
s = [0, 0]
while s[1] < N:
  m *= M
  s[0] = s[1]
  s[1] += m
  n += 1
N = N - s[0] - 1
ans = ""
for i in range(n):
  ans = chr(ord("a") + (N % M)) + ans
  N //= M
print(ans)

Solution (Python):
n=int(input())
p=1
while n > 0:
  n-=26**p
  p+=1
else:
  p-=1
  if n==0:
    ans="z"*p
    print(ans)
  else:
    n+=26**p
    num=[]
    for i in range(1,p+1):
      if n%(26**(p-i))==0:
        a=int(n/(26**(p-i)))-1
        q=p-i
        num.append(a)
        break
      else:
        a=n//(26**(p-i))
        num.append(a)
        n-=a*(26**(p-i))
    al=[]
    if n==0:
      for i in range(p-1):
        m=chr(97+num[i])
        al.append(m)
      al.append(chr(96+num[p-1]))
      ans=''.join(al)
    else:
      for i in num:
        m=chr(97+i)
        al.append(m)
      al.append("z"*q)
      ans=''.join(al)
    print(ans)

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

Solution (Python):
n = int(input())
n -= 1
n_26 = []

while n>=0:
  n_26.append(n%26)
  n //= 26
  n -= 1

name = map(lambda x:chr(x+97),n_26[::-1])
print(''.join(name))

Solution (Python):
n = int(input())
k = 26
p = 1
while (n > k):
	n -= k
	k *= 26
	p += 1
k = 26 ** (p - 1)
s = ""
n -= 1
while (k):
	s += chr(ord('a') + n // k)
	n %= k
	k //= 26
print(s)

Solution (Python):
N = int(input())

i = 1
T = 26
ans = ""
while True:
    if N <= T ** i:
        N -= 1
        while i > 0:
            N, r = divmod(N, T)
            ans += chr(r + ord('a'))
            i -= 1
        break
    else:
        N -= T ** i
        i += 1
print(ans[::-1])

Solution (Python):
N = int(input())

chars = "Xabcdefghijklmnopqrstuvwxyz"
result = ""
n_1 = N

while True:
    x = n_1 % 26

    if x == 0:
        x = 26

    result += chars[x]
    n_1 -= x
    if n_1 == 0:
        break

    n_1 //= 26

print(result[::-1])

Solution (Python):
n = int(input())
chars = "Xabcdefghijklmnopqrstuvwxyz"  

n_rem = n  
res = ""

while True:
    x = n_rem % 26
   
    if x == 0:
        x = 26
    res += chars[x]

    
    n_rem -= x

    
    if n_rem == 0:
        break

    n_rem //= 26


print(res[::-1])

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

n = int(input())
print(f(n))

Solution (Python):
n = int(input())

tmp = 0
for ll in range(1,15):
  tmp+=26**ll
  if n <= tmp:
    break

ans = ""
for l in range(1,ll+1):
  n-=1
  ans+=chr(n%26+ord('a'))
  n //= 26
print(ans[::-1])

Solution (Python):
n = int(input())

tmp = 0
for ll in range(1,15):
  tmp+=26**ll
  if n <= tmp:
    break

ans = ""
for l in range(1,ll+1):
  n-=1
  ans+=chr(n%26+ord('a'))
  n //= 26
print(ans[::-1])

Solution (Python):








def solve(N):
    alp = 'abcdefghijklmnopqrstuvwxyz'
    number27 = []
    cnt = 26
    digit = 1
    while N > 0:
        if N <= cnt:
            break
        else:
            N -= cnt
            cnt *= 26
            digit += 1
    ans = list('a' * digit)
    N -= 1
    tmp = -1
    while N > 0:
        N, mod = divmod(N, 26)
        ans[tmp] = alp[mod]
        tmp -= 1
    print(''.join(ans))


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

Solution (Python):
n = int(input())
lis = []

alf = ""

while n > 0:
    n -= 1
    mod = n % 26
    lis.insert(0,mod)
    n = n // 26
    

for i in lis:
   alf += chr(ord("a") + i)
print(alf)

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

Solution (Python):
N = int(input())

a = [0]

i = 0
L = 26
while True:
    if a[i] < N <= a[i] + L**(i + 1):
        break
    a.append(a[i] + L**(i + 1))
    i += 1


N -= a[i] + 1

for j in range(i, -1, -1):
    if j > 0:
        print(chr(N // L**(j) + ord('a')), end="")
    else:
        print(chr(N + ord('a')), end="")
    N = N % L**(j)

Solution (Python):
import math

n = int(input())

'''
(26**(m+1) - 26) / 25 <= n
26**(m+1) <= 25n + 26
m <= log(25n+26, 26) - 1
'''

m = int(math.log(25*n+26, 26) - 1)

d = n - (26**(m+1) - 26) // 25

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


if d == 0:
  print('z' * m)

else:
  dd = []
  cnt = 0
  for i in range(1, m+2):
    cnt += 1
    amari = d % 26
    d = d//26 + 1
    if amari == 0:
      d -= 1
    dd.append(amari)
    if d <= 0:
      break
  


  alpha = [alphabetTable[dd[i]] for i in range(cnt)]
  alpha.extend(['a' * (m+1-cnt)])
  alpha.reverse()
  print(''.join(alpha))

Solution (Python):
n = int(input())

ans = ''

while n > 0:
    n -= 1
    n, mod = divmod(n, 26)
    ans += chr(ord('a') + mod)

ans = ans[::-1]
print(ans)

Solution (Python):
import math,string,itertools,fractions,heapq,collections,re,array,bisect,sys,random,time,copy,functools
from collections import deque

sys.setrecursionlimit(10**7)
inf = 10**20
mod = 10**9 + 7

DR = [1, -1, 0, 0]
DC = [0, 0, 1, -1]

def LI(): return [int(x) for x in sys.stdin.readline().split()]
def LI_(): return [int(x)-1 for x in sys.stdin.readline().split()]
def LF(): return [float(x) for x in sys.stdin.readline().split()]
def LS(): return sys.stdin.readline().split()
def I(): return int(sys.stdin.readline())
def F(): return float(sys.stdin.readline())
def S(): return input()
     
def main():
    N = I()
    s = 'abcdefghijklmnopqrstuvwxyz'
    assert len(s) == 26
    cur = []
    while N > 0:
        amari = N % 26
        if amari == 0:
            amari += 26
        cur.append(s[amari-1])
        N -= amari
        N //= 26
    print(''.join(cur[::-1]))
main()

Solution (Python):
N = int(input())
ans = ""

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

Solution (Python):
n = int(input())

alp = 'abcdefghijklmnopqrstuvwxyz'

name = []

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

name.reverse()

print(*name,sep='')

Solution (Python):
from math import ceil

n = int(input())

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

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

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

for j in range(m):
  div[j] = ceil(rem[j-1] / (26**(m-j-1)))
  rem[j] = rem[j-1] % (26**(m-j-1))
  if rem[j] == 0:
    rem[j] == 26**(m-j-1)
  name[j] = a[div[j]-1]
    
print(''.join(name))

Solution (Python):

import sys
from itertools import chain






def solve(N: int):
    az = "abcdefghijklmnopqrstuvwxyz"
    N -= 1
    answer = ""
    while True:
        answer = az[N % 26] + answer
        N = N // 26
        if N == 0:
            break
        N = N - 1
    return answer


def main():
    tokens = chain(*(line.split() for line in sys.stdin))
    
    N = int(next(tokens))  
    answer = solve(N)
    print(answer)


if __name__ == "__main__":
    main()

Solution (Python):
import string
N = int(input())
L = string.ascii_lowercase
ans = []

while N > 0:
    s = N % 26
    N  = (N - 1) // 26
    ans.append(L[s-1])

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

Solution (Python):
S = list("abcdefghijklmnopqrstuvwxyz")

N = int(input())

P = 0

for i in range(1,15):
    if P+26**i >= N:
        n = i
        break
    else:
        P += 26**i
        
X = [0]*n

NN = N - P - 1
for i in range(n):
    X[n-i-1] = S[NN % 26]
    NN //= 26

print("".join(X))

Solution (Python):
N = int(input())

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

seq = []

while N > 0:
    s = N % 26
    N  = (N - 1) // 26
    seq.append(s)
L = len(seq)

name = ''

for i in range(L):
    name = alph[seq[i]] + name

print(name)

Solution (Python):
N = int(input()) - 1
rst = ''
for i in range(1, 10 ** 15):
    if N >= 26 ** i:
        N -= 26 ** i
        continue
    for j in range(i):
        rst += chr(ord('a') + N % 26)
        N //= 26
    print(rst[::-1])
    break

Solution (Python):
N = int(input())
ans = ""
letter = "abcdefghijklmnopqrstuvwxyz"

while N != 0:
    N -= 1
    ans = letter[N % 26] + ans
    N = N // 26
print(ans)

Solution (Python):
N = int(input())

digit = 0
max = 0
while True:
    if N <= max:
        break
    digit += 1
    max += 26 ** digit
under_digit = 0

for i in range(1, digit):
    under_digit += 26 ** i

order = N - under_digit - 1 


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

remain = order
now = digit - 1


ans = ""


if remain == 0:
    ans = "a" * digit
while remain != 0:
    
    
    
    
    

    ans = ans + letter[remain // (26 ** now)]
    remain %= 26 ** now
    now -= 1
    
    if remain == 0 and now == 0:
        ans = ans + "a"
        break

print(ans)

Solution (Python):
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())

Solution (Python):
N = int(input())
letters = 'zabcdefghijklmnopqrstuvwxy'

def solve(N):
    md = N%26
    l = letters[md]
    if md==0: md=26
    if N>26:
        return solve((N-md)//26) + l
    else:
        return l

print(solve(N))

Solution (Python):
def solve(n):
    ret = []
    while n > 26:
        if n % 26 == 0:
            ret = [26] + ret
            n = (n - 26) // 26
        else:
            ret = [n % 26] + ret
            n = n // 26
    ret = [n] + ret
    return ret

n = int(input())
ans = ''.join([chr(ord('a') + i - 1) for i in solve(n)])
print(ans)

Solution (Python):
n=int(input())
s=""
while n>0:
  s+=chr(97+(m:=n-1)%26)
  n=m//26
print(s[::-1])

Solution (Python):
num = 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(num))

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

Solution (Python):
N = int(input())
ans = ''

for i in range(1, 100):
  if N <= 26**i:
    N = N - 1
    for j in range(i):
      ans += chr(ord('a')+ N % 26)
      N = N // 26
    break
  else:
    N = N - 26**i
    
print(ans[::-1])

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

Solution (Python):
N = int(input()) - 1
rst = ''
for i in range(1, 10 ** 15):
    if N >= 26 ** i:
        N -= 26 ** i
        continue
    for j in range(i):
        rst += chr(ord('a') + N % 26)
        N //= 26
    print(rst[::-1])
    break

Solution (Python):
N = int(input())

l = [1]
for i in range(1,12):
    l.append(26**i + l[i-1])
for i in range(12):
    if l[-(i+1)] > N:
        continue
    else:
        order = 12 - i
        break
a = []
for i in range(order):
    a.append(26**i)

n = N - l[order-1]
s = ""
for i in range(order):
    s += ( chr( ord("a") + (n // a[-(i+1)]) ) )
    n -= a[-(i+1)] * (n // a[-(i+1)])

print(s)

Solution (Python):
n=int(input())
k=[1]
ans=[]
c=26
wa=0
while wa+c<n:
  k.append(c)
  wa+=c
  c=c*26
n=n-1-wa
for i in k[::-1]:
  ans.append(n//i)
  n=n%i
t=''
for i in ans: 
  t+=chr(97+i)
print(t)

Solution (Python):
n = int(input())
alphabets = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k',
             'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
             'w', 'x', 'y', 'z']

res = ''
while (n > 0):
  n = n - 1
  q = n % 26
  n = n // 26
  res = res + alphabets[q]
res = res[::-1]
print(res)

Solution (Python):


N = int(input())
i = 0
ans = []

while N != 0:
  s = N%26
  if s == 0:
    s = 26
  N -= s
  N //= 26
  ans.append(chr(s + 96))

print(''.join(list(reversed(ans))))

Solution (Python):
n = int(input())
str1 = ""

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