stablegradients/pie-gem5-pairs huggingface dataset:
// Slower C++ solution:
#include <iostream>

#include <string>

#include <map>

#include <queue>

#include <vector>

#include<algorithm>

#include <set>

#include <stack>

#include <stdlib.h>



using namespace std;



int main()

{

    int long long a,z,p=0;

    char arr[27];

    char arr1[30];

    cin>>a;

    for(int i=1;i<26;i++)

    {

        arr[i]=char(i+96);

    }

    arr[0]='z';

    while(a!=0)

    {

        arr1[p++]=arr[a%26];

        z=a%26;

        if(z==0)

            z=26;

        a-=z;

        a/=26;

    }



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

        cout<<arr1[i];

    return 0;

}

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

#include <string.h>

 

int main()

{

    long long n;

    scanf("%lld",&n);

    char x[100]={0};

    int i=0;

    n--;

    while(n>=0){

        x[i]=n%26+'a';

        n/=26;

        i++;

        n--;

    }

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

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

    }

    return 0;

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



using namespace std;

long long dog;

char a[]={"zabcdefghijklmnopqrstuvwxy"};

int name[13];

int main() {

    cin>>dog;

    int i;

    for ( i=0; dog > 0; i++){

        if (dog%26 == 0) {

            name[i] = 0;

            dog/=26;

            dog--;

        }

        else {

            name[i] = (dog % 26);

            dog /= 26;

        }

    }

    i--;

    for (;i>=0; i--)

        cout<<a[name[i]];

    return 0;

}


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

#include <string.h>

 

int main()

{

    long long n;

    scanf("%lld",&n);

    char x[100]={0};

    int i=0;

    n--;

    while(n>=0){

        x[i]=n%26+'a';

        n/=26;

        i++;

        n--;

    }

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

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

    }

    return 0;

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

using namespace std;

int main()

{

  long long N;

  cin>>N;

  string s;

  char arr[26]={'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'};

  int x=0, y=0,count=0;

  while(true){

    if(N<26){

      

      break;

    }

    else{

      if(N%26!=0){

         N--;

        count++;

      }

      else if(N%26==0 && count==0){

        s+=arr[25];

        N-=1;

        N=N/26;

      }

      else{

        s+=arr[count-1];

        N=N/26;

        count=0;

      }

    }

  }

  if(N==26){

    s+=arr[0];

  }

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

    s+=arr[N-1];

  }

  

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

cout<<s;

  return 0;

}

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

#include <string.h>

 

int main()

{

    long long n;

    scanf("%lld",&n);

    char x[100]={0};

    int i=0;

    n--;

    while(n>=0){

        x[i]=n%26+'a';

        n/=26;

        i++;

        n--;

    }

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

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

    }

    return 0;

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

#include <bits/stdc++.h>



using namespace std;



int main()

{

    string result;

    long long n;

    cin >> n;

    while (n > 0)

    {

        n--;

        result += char(97 + (n % 26));

        n /= 26;

    }

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

    cout << result;

    return 0;

}

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

#include <string.h>

 

int main()

{

    long long n;

    scanf("%lld",&n);

    char x[100]={0};

    int i=0;

    n--;

    while(n>=0){

        x[i]=n%26+'a';

        n/=26;

        i++;

        n--;

    }

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

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

    }

    return 0;

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

#include <bits/stdc++.h>

#include <stdio.h>



typedef long long ll;

using namespace std;







bool isPrime(ll n){

    if(n < 2){

        return 0;

    }

    if(n%2 == 0){

        return n==2;

    }

    for(ll i=3;i*i<=n;i++){

        if(n%i == 0) return 0;

    }

    return 1;

}



string toBinary(int x){

    string s = "";

    while(x > 0){

        if(x%2) s += "1";

        else s += "0";

        x /= 2;

    }

    string h = "";

    for(int i=s.size();i<31;i++){

        h += "0";

    }

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

    //cout<<"x "<<x<<" "<<(h+s)<<endl;

    return (h+s);

}



int toInt(string s){

    int h =0;

    for(int i=s.size()-1;i>=0;i--){

        if(s[i] ==  '1') h += pow(2,i);

    }

    return h;

}

int main() {

  // int n,m;

   //freopen("test.txt","w",stdout);

//   while(cin>>n){

//       cin>>m;

//       vector<int> v(n);

//       ll maxy = 0;

//       ll miny = 10e10;

//       for(int i=0;i<n;i++) { cin >> v[i];maxy= max(maxy,(ll)v[i]); }

//       int h = n-m+1;

//      // vector<int> vv;

//       ll k = 0;

//       int nn = 0;

//        int prevIndx = 0;

//        for(int i=0;i<h;i++) k += v[i];

//       for(int i=h;i<n;i++){

//          /* int j = i+1;

//            k += v[i];

//            nn++;

//           while(j<n && nn < h){

//               k += v[j];

//               j++;

//               nn++;

//           }

//         //  vv.push_back(k);

//         if(k < miny) miny = k;

//           k -= v[prevIndx];

//           i = j-1;

//           prevIndx++;

//           nn--;

//           */

//           if(k < miny) miny = k;

//           k -= v[prevIndx];

//           prevIndx++;

//           k += v[i];

//

//       }

//       cout<<max(miny,maxy)<<endl;

//

//   }

    ios_base::sync_with_stdio(false);

    cin.tie(0);

ll n;

cin>>n;

int indx= 1;

string s = "";

while(n > 0){

    n--;

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

    n /= (26);

}

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

cout<<s<<endl;

return 0;

}


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

#include <string.h>

 

int main()

{

    long long n;

    scanf("%lld",&n);

    char x[100]={0};

    int i=0;

    n--;

    while(n>=0){

        x[i]=n%26+'a';

        n/=26;

        i++;

        n--;

    }

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

        printf("%c",x[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.333493210660612x):
#include <stdio.h>

#include <string.h>



int main (){

	long long int a;

	scanf("%lld", &a);

	int count = 0;

	char out[255] = {0};

	a--;

	while (a >= 0){

		out[count] = (a % 26) + 'a';

		a /= 26;

		count++;

		a--;

	}

	for(int i = strlen(out)-1; i >= 0; i--){

		printf("%c", out[i]);

	}

	puts("");



	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.308856005444158x):
#include <stdio.h>

#include <string.h>



int main (){

	long long int a;

	scanf("%lld", &a);

	int count = 0;

	char out[255] = {0};

	a--;

	while (a >= 0){

		out[count] = (a % 26) + 'a';

		a /= 26;

		count++;

		a--;

	}

	for(int i = strlen(out)-1; i >= 0; i--){

		printf("%c", out[i]);

	}

	puts("");



	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.310302982996484x):
#include <stdio.h>

#include <string.h>



int main (){

	long long int a;

	scanf("%lld", &a);

	int count = 0;

	char out[255] = {0};

	a--;

	while (a >= 0){

		out[count] = (a % 26) + 'a';

		a /= 26;

		count++;

		a--;

	}

	for(int i = strlen(out)-1; i >= 0; i--){

		printf("%c", out[i]);

	}

	puts("");



	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.215455353084904x):
#include <stdio.h>

#include <string.h>



int main (){

	long long int a;

	scanf("%lld", &a);

	int count = 0;

	char out[255] = {0};

	a--;

	while (a >= 0){

		out[count] = (a % 26) + 'a';

		a /= 26;

		count++;

		a--;

	}

	for(int i = strlen(out)-1; i >= 0; i--){

		printf("%c", out[i]);

	}

	puts("");



	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.280077745057546x):
#include <stdio.h>

#include <string.h>



int main (){

	long long int a;

	scanf("%lld", &a);

	int count = 0;

	char out[255] = {0};

	a--;

	while (a >= 0){

		out[count] = (a % 26) + 'a';

		a /= 26;

		count++;

		a--;

	}

	for(int i = strlen(out)-1; i >= 0; i--){

		printf("%c", out[i]);

	}

	puts("");



	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.882277410459104x):
#include <stdio.h>

#include <string.h>



int main (){

	long long int a;

	scanf("%lld", &a);

	int count = 0;

	char out[255] = {0};

	a--;

	while (a >= 0){

		out[count] = (a % 26) + 'a';

		a /= 26;

		count++;

		a--;

	}

	for(int i = strlen(out)-1; i >= 0; i--){

		printf("%c", out[i]);

	}

	puts("");



	return 0;

}
// Slower C++ solution:
#pragma GCC optimize ("O3")

#include<bits/stdc++.h>

using namespace std;







/// Info.

///****************************************************************************************************************************************///

/// author                : BAHAA El-DEEN OSAMA .

/// Problem name          : P - One Quadrillion and One Dalmatians

/// Method                : brute force

/// Online judge          : vjudge(Contest)

/// Date                  : 8/7/2020

///****************************************************************************************************************************************///



typedef long long ll ;

typedef unsigned long long ull ;



ll n;

string str = "";



int main()

{



    cin >> n;

	while (n)

    {

		int s = (n-1) % 26;

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

		n = (n-1)/ 26;

	}

	cout << str << endl;



	   return 0;

}


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

#include <string.h>



int main (){

	long long int a;

	scanf("%lld", &a);

	int count = 0;

	char out[255] = {0};

	a--;

	while (a >= 0){

		out[count] = (a % 26) + 'a';

		a /= 26;

		count++;

		a--;

	}

	for(int i = strlen(out)-1; i >= 0; i--){

		printf("%c", out[i]);

	}

	puts("");



	return 0;

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



using namespace std;

typedef long long ll;

ll t , k,n,x , y , a, b,c , d ,sum;

string s;

char ch;

int main()

{

    cin >> n;

    a=26;

    s="";

    while(n>0)

    {

        //n--;

        x=(n-1)%26;

        s+=(x+'a');

        n=(n-1)/26;

    }

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

    cout << s;

    return 0;

}


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

#include <string.h>



int main (){

	long long int a;

	scanf("%lld", &a);

	int count = 0;

	char out[255] = {0};

	a--;

	while (a >= 0){

		out[count] = (a % 26) + 'a';

		a /= 26;

		count++;

		a--;

	}

	for(int i = strlen(out)-1; i >= 0; i--){

		printf("%c", out[i]);

	}

	puts("");



	return 0;

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

using namespace std;

typedef long long ll;

typedef unsigned long long ull;



int main()

{

    ull n;

    string s="";

    cin>>n;

    while(n>0)

    {

        if(n%26==0)

            {s='z'+s;n-=1;}

        else

            {char x=((n%26)-1)+'a';s=x+s;}



        n/=26;

    }

        cout<<s;

}


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

#include <string.h>



int main (){

	long long int a;

	scanf("%lld", &a);

	int count = 0;

	char out[255] = {0};

	a--;

	while (a >= 0){

		out[count] = (a % 26) + 'a';

		a /= 26;

		count++;

		a--;

	}

	for(int i = strlen(out)-1; i >= 0; i--){

		printf("%c", out[i]);

	}

	puts("");



	return 0;

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

#include <string>

#include <map>

#include <queue>

#include <vector>

#include<algorithm>

#include <set>

#include <stack>

#include <stdlib.h>



using namespace std;



int main()

{

    int long long a,z,p=0;

    char arr[27];

    char arr1[30];

    cin>>a;

    for(int i=1;i<26;i++)

    {

        arr[i]=char(i+96);

    }

    arr[0]='z';

    while(a!=0)

    {

        arr1[p++]=arr[a%26];

        z=a%26;

        if(z==0)

            z=26;

        a-=z;

        a/=26;

    }



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

        cout<<arr1[i];

    return 0;

}

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

#include <string.h>



int main (){

	long long int a;

	scanf("%lld", &a);

	int count = 0;

	char out[255] = {0};

	a--;

	while (a >= 0){

		out[count] = (a % 26) + 'a';

		a /= 26;

		count++;

		a--;

	}

	for(int i = strlen(out)-1; i >= 0; i--){

		printf("%c", out[i]);

	}

	puts("");



	return 0;

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



using namespace std;

long long dog;

char a[]={"zabcdefghijklmnopqrstuvwxy"};

int name[13];

int main() {

    cin>>dog;

    int i;

    for ( i=0; dog > 0; i++){

        if (dog%26 == 0) {

            name[i] = 0;

            dog/=26;

            dog--;

        }

        else {

            name[i] = (dog % 26);

            dog /= 26;

        }

    }

    i--;

    for (;i>=0; i--)

        cout<<a[name[i]];

    return 0;

}


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

#include <string.h>



int main (){

	long long int a;

	scanf("%lld", &a);

	int count = 0;

	char out[255] = {0};

	a--;

	while (a >= 0){

		out[count] = (a % 26) + 'a';

		a /= 26;

		count++;

		a--;

	}

	for(int i = strlen(out)-1; i >= 0; i--){

		printf("%c", out[i]);

	}

	puts("");



	return 0;

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

using namespace std;

int main()

{

  long long N;

  cin>>N;

  string s;

  char arr[26]={'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'};

  int x=0, y=0,count=0;

  while(true){

    if(N<26){

      

      break;

    }

    else{

      if(N%26!=0){

         N--;

        count++;

      }

      else if(N%26==0 && count==0){

        s+=arr[25];

        N-=1;

        N=N/26;

      }

      else{

        s+=arr[count-1];

        N=N/26;

        count=0;

      }

    }

  }

  if(N==26){

    s+=arr[0];

  }

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

    s+=arr[N-1];

  }

  

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

cout<<s;

  return 0;

}

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

#include <string.h>



int main (){

	long long int a;

	scanf("%lld", &a);

	int count = 0;

	char out[255] = {0};

	a--;

	while (a >= 0){

		out[count] = (a % 26) + 'a';

		a /= 26;

		count++;

		a--;

	}

	for(int i = strlen(out)-1; i >= 0; i--){

		printf("%c", out[i]);

	}

	puts("");



	return 0;

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

#include <bits/stdc++.h>



using namespace std;



int main()

{

    string result;

    long long n;

    cin >> n;

    while (n > 0)

    {

        n--;

        result += char(97 + (n % 26));

        n /= 26;

    }

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

    cout << result;

    return 0;

}

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

#include <string.h>



int main (){

	long long int a;

	scanf("%lld", &a);

	int count = 0;

	char out[255] = {0};

	a--;

	while (a >= 0){

		out[count] = (a % 26) + 'a';

		a /= 26;

		count++;

		a--;

	}

	for(int i = strlen(out)-1; i >= 0; i--){

		printf("%c", out[i]);

	}

	puts("");



	return 0;

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

#include <bits/stdc++.h>

#include <stdio.h>



typedef long long ll;

using namespace std;







bool isPrime(ll n){

    if(n < 2){

        return 0;

    }

    if(n%2 == 0){

        return n==2;

    }

    for(ll i=3;i*i<=n;i++){

        if(n%i == 0) return 0;

    }

    return 1;

}



string toBinary(int x){

    string s = "";

    while(x > 0){

        if(x%2) s += "1";

        else s += "0";

        x /= 2;

    }

    string h = "";

    for(int i=s.size();i<31;i++){

        h += "0";

    }

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

    //cout<<"x "<<x<<" "<<(h+s)<<endl;

    return (h+s);

}



int toInt(string s){

    int h =0;

    for(int i=s.size()-1;i>=0;i--){

        if(s[i] ==  '1') h += pow(2,i);

    }

    return h;

}

int main() {

  // int n,m;

   //freopen("test.txt","w",stdout);

//   while(cin>>n){

//       cin>>m;

//       vector<int> v(n);

//       ll maxy = 0;

//       ll miny = 10e10;

//       for(int i=0;i<n;i++) { cin >> v[i];maxy= max(maxy,(ll)v[i]); }

//       int h = n-m+1;

//      // vector<int> vv;

//       ll k = 0;

//       int nn = 0;

//        int prevIndx = 0;

//        for(int i=0;i<h;i++) k += v[i];

//       for(int i=h;i<n;i++){

//          /* int j = i+1;

//            k += v[i];

//            nn++;

//           while(j<n && nn < h){

//               k += v[j];

//               j++;

//               nn++;

//           }

//         //  vv.push_back(k);

//         if(k < miny) miny = k;

//           k -= v[prevIndx];

//           i = j-1;

//           prevIndx++;

//           nn--;

//           */

//           if(k < miny) miny = k;

//           k -= v[prevIndx];

//           prevIndx++;

//           k += v[i];

//

//       }

//       cout<<max(miny,maxy)<<endl;

//

//   }

    ios_base::sync_with_stdio(false);

    cin.tie(0);

ll n;

cin>>n;

int indx= 1;

string s = "";

while(n > 0){

    n--;

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

    n /= (26);

}

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

cout<<s<<endl;

return 0;

}


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

#include <string.h>



int main (){

	long long int a;

	scanf("%lld", &a);

	int count = 0;

	char out[255] = {0};

	a--;

	while (a >= 0){

		out[count] = (a % 26) + 'a';

		a /= 26;

		count++;

		a--;

	}

	for(int i = strlen(out)-1; i >= 0; i--){

		printf("%c", out[i]);

	}

	puts("");



	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.362075769740375x):
#include <stdio.h>

 

int main(){

    long long int banyakAnjing;

    scanf("%lld",&banyakAnjing);

 

    char name[100];

    int a=0;

    

    while(banyakAnjing!=0){

        banyakAnjing--;

        int b = banyakAnjing%26;

        name[a] ='a'+ b;

        banyakAnjing/=26;

        a++;

    }

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

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

    }

    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.337306532036797x):
#include <stdio.h>

 

int main(){

    long long int banyakAnjing;

    scanf("%lld",&banyakAnjing);

 

    char name[100];

    int a=0;

    

    while(banyakAnjing!=0){

        banyakAnjing--;

        int b = banyakAnjing%26;

        name[a] ='a'+ b;

        banyakAnjing/=26;

        a++;

    }

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

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

    }

    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.338761264041927x):
#include <stdio.h>

 

int main(){

    long long int banyakAnjing;

    scanf("%lld",&banyakAnjing);

 

    char name[100];

    int a=0;

    

    while(banyakAnjing!=0){

        banyakAnjing--;

        int b = banyakAnjing%26;

        name[a] ='a'+ b;

        banyakAnjing/=26;

        a++;

    }

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

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

    }

    return 0;

}