stablegradients/pie-gem5-pairs huggingface dataset:
// Slower C++ solution:
#include <bits/stdc++.h>

using namespace std;

int main(){

  long long n;

  list <char> s; 

  cin>>n;

  while(n){

    n--;

    s.push_front('a'+n%26);

    n/=26;

  }

  string ss(s.begin(), s.end());

  cout<<ss<<endl;

  return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.357370970922825x):
#include <stdio.h>

 

int main(){

    long long int G;

    scanf("%lld",&G);

 

    char name[100];

    int i=0;



    while(G!=0)

    {

        G--;

        int kt = G%26;

        name[i] ='a'+ kt;

        G/=26;

        i++;

    }

 

    for(int j=i-1;j>=0;j--)

    {

        printf("%c",name[j]);

    }



    return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h>

using namespace std;



int main() {

   long long n ;

   cin>>n;

   long long x;

   string S[] ={"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"};

   vector<string>v;

   while(n != 0){

        x = (n % 26) -1;

        if(x == -1){

            x = 25;

            n--;

        }

       v.push_back( S[x]);

       n /= 26;

   }

 for(reverse_iterator<vector<basic_string<char>>::iterator> it = v.rbegin(); it != v.rend(); it++){

     cout<<*it;

 }

 cout<<endl;



return 0;



}


// Faster C++ solution for the same problem (measured speedup: 5.369372588639515x):
#include <stdio.h>

 

int main(){

    long long int G;

    scanf("%lld",&G);

 

    char name[100];

    int i=0;



    while(G!=0)

    {

        G--;

        int kt = G%26;

        name[i] ='a'+ kt;

        G/=26;

        i++;

    }

 

    for(int j=i-1;j>=0;j--)

    {

        printf("%c",name[j]);

    }



    return 0;

}
// Slower C++ solution:
#include <iostream>

#include <algorithm>

#include <cstring>

#include <string>

#include <cmath>

#include <set>

#include <unordered_set>

#include <vector>

#include<valarray>

#include<map>

#include <utility>

#include <deque>

#include <queue>

using namespace std;



int main()

{

unsigned long long int n;

char c;

string s;

cin>>n;

long long counter=0;

while (n>=26)

{





    if(n%26!=0)

    {

        counter++;

        n--;

    }

     else if(n%26==0&&counter==0)

    {

         s+='z';

         n-=1;

         n/=26;



    }

    else if(n%26==0)

    {





        c =(96+counter);







        s+=c;

        counter=0;

        n/=26;

    }



}



if(n==26)

    s+='a';

else if(n>=1&&n<26) {





    c = (96 + n);

    s += c;

}

reverse(s.begin(),s.end());



cout<<s;





    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.329254067275369x):
#include <stdio.h>

 

int main(){

    long long int G;

    scanf("%lld",&G);

 

    char name[100];

    int i=0;



    while(G!=0)

    {

        G--;

        int kt = G%26;

        name[i] ='a'+ kt;

        G/=26;

        i++;

    }

 

    for(int j=i-1;j>=0;j--)

    {

        printf("%c",name[j]);

    }



    return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>



using namespace std;



void f(long long n){

    n-=1;

    if(n<26){

        cout <<(char)('a' + n);

        return;

    }



    f(n/26);

    cout <<(char)('a' + n%26);

}



int main(){

    long long n;

    cin >>n;

    f(n);

}


// Faster C++ solution for the same problem (measured speedup: 5.28619466558417x):
#include <stdio.h>

#include <string.h>



int main(){

    

    long long num;

    scanf("%lld", &num);

    char str[100] ={0};

    int i = 0;

    num--;



    while(num >= 0){

         str[i] = num%26 + 'a';

         num /= 26;

        i++;

        num--;                

    }

    int len = strlen(str);

    

    for(int j=len-1;j>=0;j--){

        printf("%c", str[j]);

    }    



    return 0;

}
// Slower C++ solution:
#include<iostream>

using namespace std;



int main(){



    long long n;

    cin >> n;



    /*int len = 0;

    long long sum = 0, p = 1;

    for(int i=1;;i++){

        p*=26;

        sum+=p;

        if(n<=sum){

            len = i;

            break;

        }

    }

    cout << len << endl;*/



    string name = "";

    long long d = 0, r = 0;

    while(n>0){

        d = n/26;

        r = n%26;

        if(r==0){

            d = d-1;

            name = "z" + name;

        }

        else{

            name = (char)(r-1+'a') + name;

        }

        n = d;

    }



    cout << name << endl;

}


// Faster C++ solution for the same problem (measured speedup: 5.356513976202879x):
#include <stdio.h>

#include <string.h>



int main(){

    

    long long num;

    scanf("%lld", &num);

    char str[100] ={0};

    int i = 0;

    num--;



    while(num >= 0){

         str[i] = num%26 + 'a';

         num /= 26;

        i++;

        num--;                

    }

    int len = strlen(str);

    

    for(int j=len-1;j>=0;j--){

        printf("%c", str[j]);

    }    



    return 0;

}
// Slower C++ solution:
//problem - p(indu)

#include<iostream>

#include<cmath>

#include<cstdio>



int main()

{

    long long int num{0};

    int remain{0},count{0};

    char s[20] = {0};

    

    scanf("%lli",&num);

    

    while(num > 0){

        remain = num % 26;

        

        if(remain == 0){

            s[count] = 26;

        }else{

            s[count] = remain;

        }

        

        num -= 1;

        num /= 26;

        count++;

    }

    

    while(--count >= 0){

        printf("%c",s[count] + 'a' - 1);

    }

    

    printf("\n");

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.243204613911804x):
#include <stdio.h>

#include <string.h>



int main(){

    

    long long num;

    scanf("%lld", &num);

    char str[100] ={0};

    int i = 0;

    num--;



    while(num >= 0){

         str[i] = num%26 + 'a';

         num /= 26;

        i++;

        num--;                

    }

    int len = strlen(str);

    

    for(int j=len-1;j>=0;j--){

        printf("%c", str[j]);

    }    



    return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h>

using namespace std;



typedef long long ll;



string solve(ll n)

{

    ll x = 26;

    int cnt = 1;

    while (n > x)

    {

        n -= x;

        x = x * 26;

        cnt ++;

    }



    n -= 1;

    string ans = "";

    while (n)

    {

        ans = (char)('a' + (n % 26ll)) + ans;

        n /= 26;

    }

    // cout << ans << endl;

    // cout << (cnt - ans.length()) << endl;

    int len = cnt - ans.length();

    for (int i = 0; i < len; i ++)

        ans = 'a' + ans;

    return ans;

    

}



int main()

{

    ll n;

    cin >> n;

    cout << solve(n) << endl;

    // n --;

    // if (n == 0)

    // {

    //     cout << 'a' << endl;

    //     return 0;

    // }

    // string ans;

    // while (n)

    // {



    //     ans = (char)('a' + (n % 26ll)) + ans;

    //     n /= 26;

    // }

    // cout << ans << endl;

    

}

// Faster C++ solution for the same problem (measured speedup: 5.357801323900267x):
#include <stdio.h>

#include <string.h>



int main(){

    

    long long num;

    scanf("%lld", &num);

    char str[100] ={0};

    int i = 0;

    num--;



    while(num >= 0){

         str[i] = num%26 + 'a';

         num /= 26;

        i++;

        num--;                

    }

    int len = strlen(str);

    

    for(int j=len-1;j>=0;j--){

        printf("%c", str[j]);

    }    



    return 0;

}
// Slower C++ solution:
#include <cstdio>

#include <cstring>

#include <string>

#include <algorithm>

using namespace std; 

typedef long long LL;

const int MAXN=1E5+10;

int q[MAXN],tong[MAXN],a[MAXN];

long long sumans;

string name(LL N) {

	N-=1;

	LL pw=26,i=1;

	while(N>=pw) {

		N-=pw;

		pw*=26;

		++i;

	}

//	printf("%lld %lld %lld\n",N,pw,i);

	string names="";

	while(N>0) {

		LL r=N%26;

		names=char(r+'a')+names;

		N/=26;

	}

	int x=names.length();

	if(x!=i) {

		names=string(i-x,'a')+names;

	}

	return names;

}

int main() {

	LL N;

	scanf("%lld",&N);

	printf("%s",name(N).c_str());

	return 0;

} 

// Faster C++ solution for the same problem (measured speedup: 4.9567721464214545x):
#include <stdio.h>

#include <string.h>



int main(){

    

    long long num;

    scanf("%lld", &num);

    char str[100] ={0};

    int i = 0;

    num--;



    while(num >= 0){

         str[i] = num%26 + 'a';

         num /= 26;

        i++;

        num--;                

    }

    int len = strlen(str);

    

    for(int j=len-1;j>=0;j--){

        printf("%c", str[j]);

    }    



    return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

string s="";

int main(){



    ios::sync_with_stdio(false);

    cin.tie(0);



    long long n;

    cin>>n;

    while(n--){

        s=char(n%26+'a')+s;

        n/=26;

    }



    cout<<s;

}


// Faster C++ solution for the same problem (measured speedup: 5.409503976968764x):
#include <stdio.h>

#include <string.h>



int main(){

    

    long long num;

    scanf("%lld", &num);

    char str[100] ={0};

    int i = 0;

    num--;



    while(num >= 0){

         str[i] = num%26 + 'a';

         num /= 26;

        i++;

        num--;                

    }

    int len = strlen(str);

    

    for(int j=len-1;j>=0;j--){

        printf("%c", str[j]);

    }    



    return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h>

#define lowbit(i) ((i)&(-i))

#define ls (p << 1)

#define rs (p << 1 | 1)

using namespace std;



typedef unsigned long long ull;

typedef long long ll;

typedef pair <int, int> pii;

typedef pair <ll, ll> pll;



const double pi = acos(-1.0);

const int INF = 0x3f3f3f3f;

const int MAXN = 26 + 15;

int main() {

#ifdef CitricAcid

    freopen ("input.txt", "rt", stdin);

#endif



    ll n;

    scanf("%lld", &n);

    string ans;



    while(n > 0) {

        n--;

        ans += (n % 26) + 'a';

        n /= 26;

    }

    reverse(ans.begin(), ans.end());

    cout << ans << endl;





#ifdef CitricAcid

    cerr << "\nTime elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << " s.\n";

#endif

    return 0;

}

/*

# author : CitricAcid

# date : 2020/07/27

*/

// Faster C++ solution for the same problem (measured speedup: 5.301540696099803x):
#include <stdio.h>

#include <string.h>



int main(){

    

    long long num;

    scanf("%lld", &num);

    char str[100] ={0};

    int i = 0;

    num--;



    while(num >= 0){

         str[i] = num%26 + 'a';

         num /= 26;

        i++;

        num--;                

    }

    int len = strlen(str);

    

    for(int j=len-1;j>=0;j--){

        printf("%c", str[j]);

    }    



    return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h>



using namespace std;



int main()

{

unsigned long long int n;

cin>>n;

--n;

string s="";

while(n >= 26) {

    s+=char((n%26) + 'a');

    n/=26;

   --n;

}

s+=char(n+'a');

reverse(s.begin(),s.end());

cout<<s;

return 0;

}


// Faster C++ solution for the same problem (measured speedup: 5.325971431511421x):
#include <stdio.h>

#include <string.h>



int main(){

    

    long long num;

    scanf("%lld", &num);

    char str[100] ={0};

    int i = 0;

    num--;



    while(num >= 0){

         str[i] = num%26 + 'a';

         num /= 26;

        i++;

        num--;                

    }

    int len = strlen(str);

    

    for(int j=len-1;j>=0;j--){

        printf("%c", str[j]);

    }    



    return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h>

using namespace std;

int main(){

  long long n;

  list <char> s; 

  cin>>n;

  while(n){

    n--;

    s.push_front('a'+n%26);

    n/=26;

  }

  string ss(s.begin(), s.end());

  cout<<ss<<endl;

  return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.35555175790662x):
#include <stdio.h>

#include <string.h>



int main(){

    

    long long num;

    scanf("%lld", &num);

    char str[100] ={0};

    int i = 0;

    num--;



    while(num >= 0){

         str[i] = num%26 + 'a';

         num /= 26;

        i++;

        num--;                

    }

    int len = strlen(str);

    

    for(int j=len-1;j>=0;j--){

        printf("%c", str[j]);

    }    



    return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h>

using namespace std;



int main() {

   long long n ;

   cin>>n;

   long long x;

   string S[] ={"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"};

   vector<string>v;

   while(n != 0){

        x = (n % 26) -1;

        if(x == -1){

            x = 25;

            n--;

        }

       v.push_back( S[x]);

       n /= 26;

   }

 for(reverse_iterator<vector<basic_string<char>>::iterator> it = v.rbegin(); it != v.rend(); it++){

     cout<<*it;

 }

 cout<<endl;



return 0;



}


// Faster C++ solution for the same problem (measured speedup: 5.367549300210335x):
#include <stdio.h>

#include <string.h>



int main(){

    

    long long num;

    scanf("%lld", &num);

    char str[100] ={0};

    int i = 0;

    num--;



    while(num >= 0){

         str[i] = num%26 + 'a';

         num /= 26;

        i++;

        num--;                

    }

    int len = strlen(str);

    

    for(int j=len-1;j>=0;j--){

        printf("%c", str[j]);

    }    



    return 0;

}
// Slower C++ solution:
#include <iostream>

#include <algorithm>

#include <cstring>

#include <string>

#include <cmath>

#include <set>

#include <unordered_set>

#include <vector>

#include<valarray>

#include<map>

#include <utility>

#include <deque>

#include <queue>

using namespace std;



int main()

{

unsigned long long int n;

char c;

string s;

cin>>n;

long long counter=0;

while (n>=26)

{





    if(n%26!=0)

    {

        counter++;

        n--;

    }

     else if(n%26==0&&counter==0)

    {

         s+='z';

         n-=1;

         n/=26;



    }

    else if(n%26==0)

    {





        c =(96+counter);







        s+=c;

        counter=0;

        n/=26;

    }



}



if(n==26)

    s+='a';

else if(n>=1&&n<26) {





    c = (96 + n);

    s += c;

}

reverse(s.begin(),s.end());



cout<<s;





    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.327444401971533x):
#include <stdio.h>

#include <string.h>



int main(){

    

    long long num;

    scanf("%lld", &num);

    char str[100] ={0};

    int i = 0;

    num--;



    while(num >= 0){

         str[i] = num%26 + 'a';

         num /= 26;

        i++;

        num--;                

    }

    int len = strlen(str);

    

    for(int j=len-1;j>=0;j--){

        printf("%c", str[j]);

    }    



    return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

int main()

{

   string c="abcdefghijklmnopqrstuvwxyz";

  long long int n;

  cin>>n;

  string s="";

  if(n<=26)

  {

    cout<<c[n-1];

    return 0;

  }

  while(n)

  {

    int x=n%26;

    if(x)

    {

      s=c[x-1]+s;

    }

    else

    {

      s = 'z'+s;

    }

    if(!x)

    {

      n/=26;

      n--;

    }

    else

    {

      n/=26;

    }

  }

  cout<<s<<endl;

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.342600550225415x):
#include <algorithm>

#include <cstdio>

using namespace std;



using ll = long long;



int ans[128];



int main()

{

    ll N;

    scanf("%lld", &N);

    int i;

    for (i = 0; N; i++)

    {

        N--;

        ans[i] = N % 26;

        N /= 26;

    }

    while (i--)

    {

        printf("%c", ans[i] + 'a');

    }

    printf("\n");



    return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

int main(){

    long long x,i=1,temp=26;

    cin>>x;

    x--;

    while(temp<=x){

        x-=temp;

        temp*=26;

        i++;

    }

    string out="";

    while(i--){

        out=(char)(x%26+'a')+out;

        x/=26;

    }

    cout<<out;

}


// Faster C++ solution for the same problem (measured speedup: 5.3179212751337435x):
#include <algorithm>

#include <cstdio>

using namespace std;



using ll = long long;



int ans[128];



int main()

{

    ll N;

    scanf("%lld", &N);

    int i;

    for (i = 0; N; i++)

    {

        N--;

        ans[i] = N % 26;

        N /= 26;

    }

    while (i--)

    {

        printf("%c", ans[i] + 'a');

    }

    printf("\n");



    return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

using ll = long long int;

ll n;

string k;

void displ()

{

	cin>>n;

	while(n){

		k = char(n%26?(n%26)+'a'-1:'z')+k,n--;

	    	n/=26;

	}

	cout<<k<<"\n";

}



int main()

{

	displ();

}

// Faster C++ solution for the same problem (measured speedup: 5.319370723508737x):
#include <algorithm>

#include <cstdio>

using namespace std;



using ll = long long;



int ans[128];



int main()

{

    ll N;

    scanf("%lld", &N);

    int i;

    for (i = 0; N; i++)

    {

        N--;

        ans[i] = N % 26;

        N /= 26;

    }

    while (i--)

    {

        printf("%c", ans[i] + 'a');

    }

    printf("\n");



    return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

int main()

{

   string c="abcdefghijklmnopqrstuvwxyz";

  long long int n;

  cin>>n;

  string s="";

  if(n<=26)

  {

    cout<<c[n-1];

    return 0;

  }

  while(n)

  {

    int x=n%26;

    if(x)

    {

      s=c[x-1]+s;

    }

    else

    {

      s = 'z'+s;

    }

    if(!x)

    {

      n/=26;

      n--;

    }

    else

    {

      n/=26;

    }

  }

  cout<<s<<endl;

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.322327863803882x):
#include <stdio.h>

 

int main() {

 

    long x;

    char cr;

    scanf("%ld", &x);



    long name[14];

    for (long i = 0; i < 14; i++) {

        name[i] = -1;

    }



    name[0] = x-1;

    for (long i = 1; i < 14; i++) {

        name[i] += name[i-1]/26;

        name[i-1] %= 26;

    }

    

    for (long i = 13; i >= 0; i--) {

        if (name[i] == -1) {

            continue;

        }

        cr = 'a'+name[i];

        printf("%c", cr);

    }



    printf("\n");

 

  return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

int main(){

    long long x,i=1,temp=26;

    cin>>x;

    x--;

    while(temp<=x){

        x-=temp;

        temp*=26;

        i++;

    }

    string out="";

    while(i--){

        out=(char)(x%26+'a')+out;

        x/=26;

    }

    cout<<out;

}


// Faster C++ solution for the same problem (measured speedup: 5.29774223509291x):
#include <stdio.h>

 

int main() {

 

    long x;

    char cr;

    scanf("%ld", &x);



    long name[14];

    for (long i = 0; i < 14; i++) {

        name[i] = -1;

    }



    name[0] = x-1;

    for (long i = 1; i < 14; i++) {

        name[i] += name[i-1]/26;

        name[i-1] %= 26;

    }

    

    for (long i = 13; i >= 0; i--) {

        if (name[i] == -1) {

            continue;

        }

        cr = 'a'+name[i];

        printf("%c", cr);

    }



    printf("\n");

 

  return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

using ll = long long int;

ll n;

string k;

void displ()

{

	cin>>n;

	while(n){

		k = char(n%26?(n%26)+'a'-1:'z')+k,n--;

	    	n/=26;

	}

	cout<<k<<"\n";

}



int main()

{

	displ();

}

// Faster C++ solution for the same problem (measured speedup: 5.299186183484867x):
#include <stdio.h>

 

int main() {

 

    long x;

    char cr;

    scanf("%ld", &x);



    long name[14];

    for (long i = 0; i < 14; i++) {

        name[i] = -1;

    }



    name[0] = x-1;

    for (long i = 1; i < 14; i++) {

        name[i] += name[i-1]/26;

        name[i-1] %= 26;

    }

    

    for (long i = 13; i >= 0; i--) {

        if (name[i] == -1) {

            continue;

        }

        cr = 'a'+name[i];

        printf("%c", cr);

    }



    printf("\n");

 

  return 0;

}
// Slower C++ solution:
#include <iostream>

#define ll long long

using namespace std;

int main(){

    ll N; scanf("%lld", &N);

    // 26 26 * 26 26 * 26 * 26

    ll pre[12] = {0};

    ll sum = 26;

    for(int i = 1; i <= 11; i++){

        pre[i] = pre[i - 1] + sum;

        sum = sum * 26;

    }

    int cur = 11;

    // pre[i - 1] + 1 ~ pre[i]

    // a = 0

    while(N < pre[cur] + 1){

        cur--;

    }

    N -= pre[cur];

    --N;

    int stk[13];

    for(int i = 1; i <= cur + 1; i++){

        stk[i] = N % 26;

        N /= 26;

    }

    for(int i = cur + 1; i >= 1; i--){

        printf("%c", (char)('a' + stk[i]));

    }

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.204537111374838x):
#include <stdio.h>

 

int main() {

 

    long x;

    char cr;

    scanf("%ld", &x);



    long name[14];

    for (long i = 0; i < 14; i++) {

        name[i] = -1;

    }



    name[0] = x-1;

    for (long i = 1; i < 14; i++) {

        name[i] += name[i-1]/26;

        name[i-1] %= 26;

    }

    

    for (long i = 13; i >= 0; i--) {

        if (name[i] == -1) {

            continue;

        }

        cr = 'a'+name[i];

        printf("%c", cr);

    }



    printf("\n");

 

  return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

typedef long long LL;

LL n;

int s[100000];

int main(){

    scanf("%lld", &n);

    LL x = 0, y = 1, z = 0;

    while(x <= n){

        y *= 26LL;

        x += y;

        ++z;

    }

    x -= y;

    if(n == x){

        for(int i = 1; i < z; i++) cout<<'z';

        cout<<endl;

    }

    else{

        

        int u = 0;

        LL a = n - x - 1LL;

        while(a > 0){

            s[++u] = a % 26LL;

            a /= 26LL;

        }

        for(int i = z; i >= 1; i--) printf("%c", s[i] + 'a');

        cout<<endl;

    }

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.269024220261408x):
#include <stdio.h>

 

int main() {

 

    long x;

    char cr;

    scanf("%ld", &x);



    long name[14];

    for (long i = 0; i < 14; i++) {

        name[i] = -1;

    }



    name[0] = x-1;

    for (long i = 1; i < 14; i++) {

        name[i] += name[i-1]/26;

        name[i-1] %= 26;

    }

    

    for (long i = 13; i >= 0; i--) {

        if (name[i] == -1) {

            continue;

        }

        cr = 'a'+name[i];

        printf("%c", cr);

    }



    printf("\n");

 

  return 0;

}
// Slower C++ solution:
#include<cstdio>

#include<stack>

using namespace std;

long long n;



int main()

{

    while(~scanf("%lld",&n))

    {

        stack<char>p;

        while(n)

        {

            int t=n%26;



            if(n)

            {

            if(t==0)

            p.push('z');

            else

            p.push((char)('a'+t-1));

            }

            n/=26;

            if(!t)

            n--;

        }

        while(!p.empty())

        putchar(p.top()),p.pop();

        putchar('\n');

    }

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 4.872056656708149x):
#include <stdio.h>

 

int main() {

 

    long x;

    char cr;

    scanf("%ld", &x);



    long name[14];

    for (long i = 0; i < 14; i++) {

        name[i] = -1;

    }



    name[0] = x-1;

    for (long i = 1; i < 14; i++) {

        name[i] += name[i-1]/26;

        name[i-1] %= 26;

    }

    

    for (long i = 13; i >= 0; i--) {

        if (name[i] == -1) {

            continue;

        }

        cr = 'a'+name[i];

        printf("%c", cr);

    }



    printf("\n");

 

  return 0;

}