/*
#include<stdio.h>
int map[19][19],st[4];
int visited[19][19]={};
int k,m,l;
void dfs(int x,int y)
{
int i,j;
k=map[x][y];
st[0]=put(x,y,1,0);
st[1]=put(x,y,0,1);
st[2]=put(x,y,1,1);
st[3]=put(x,y,1,-1);
for(i=0;i<4;i++)
{
if(st[i]==4)
{
printf("%d\n",map[x][y]);
if(i==0 || i==1 || i==2)
{
printf("%d %d\n",x+1,y+1);
}
else if(i==3)
{
printf("%d %d\n",x+1+st[i],y+1-st[i]);
}
printf("%d %d\n",st[i],i);
printf("%d",map[x][y]);
for(j=0;j<st[i];j++)
{
printf("%d",map[x+1][y+1]);
}
exit(1);
}
}
}
int put(int x,int y,int plusx,int plusy)
{
if(x>=0 && x<19 && y>=0 && y<19)
{
return map[x][y]== map[x+plusx][y+plusy]? put(x+plusx, y+plusy, plusx, plusy)+1 : 0;
}
}
int main()
{
int i,j;
for(i=0;i<19;i++)
{
for(j=0;j<19;j++)
{
scanf("%d",&map[i][j]);
}
}
for(i=0;i<19;i++)
{
for(j=0;j<19;j++)
{
if(map[i][j]!=0)
{
dfs(i,j);
}
}
}
printf("0");
}
*/
/*
n put(n)
1 1
2 2
*/
/*
#include<stdio.h>
int memo[10001]={};
int put(int n)
{if(memo[n]!=0) return memo[n];
if(n<=3) return n;
return memo[n]=(put(n-1)+put(n-2))%100000007;}
int main()
{int n;
scanf("%d",&n);
printf("%d",put(n));}
*/
#include<stdio.h>
char stack[100];
int top=0;
void put(int n)
{
stack[top++]=n;
}
void vivew()
{
for(int i=top-1;i>=0;i--)
{
printf("%c",stack[i]);
}
};
int main()
{
int n;
scanf("%d",&n);
for(;;)
{
if(n<26)
{
put(n+64);
break;
}
else
{
put(n%(26-1)+64);
n/=26;
}
}
vivew();
}