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

#include <iostream>

#include <algorithm>



using namespace std;

const int MAXN = 2e6 + 5;





char ans[MAXN];

//int main() {

//	long long n;

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

//		printf("%lld\n", n * (n + 1) / 2); 

//	}

//	return 0;

//}



int main() {

	long long n; scanf("%lld", &n); int l = 0;

	while (n) {n--;

		ans[++l] = n % 26 + 'a'; n /= 26; 

	}

	for (int i = l; i >= 1; i--) putchar(ans[i]);

	return 0;

}

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

#include<algorithm>

#include<cstring>



using namespace std;



int rec[100100];



int main()

{

	long long n;

	int i,a,b,top;

	scanf("%lld",&n);

	while(n)

    {

        top++;

		rec[top]=(n-1)%26;

		n--;

		n/=26;

	}

	for(i=top;i>=1;i--)

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

	printf("\n");

	return 0;

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

#include<string>

#include<algorithm>

using namespace std;

typedef long long ll;

const int maxn = 50;

int main(){

	ll n;

	cin >> n;

	string str = "";

	while(n){

		int a = (n-1)%26;

		n--;

		n/=26;

		char c = 'a' + a;

		str = c + str;

	}

	cout << str << endl;

	return 0;

}

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

#include<algorithm>

#include<cstring>



using namespace std;



int rec[100100];



int main()

{

	long long n;

	int i,a,b,top;

	scanf("%lld",&n);

	while(n)

    {

        top++;

		rec[top]=(n-1)%26;

		n--;

		n/=26;

	}

	for(i=top;i>=1;i--)

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

	printf("\n");

	return 0;

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

using namespace std;

typedef long long ll;

int main(){

	ll n;

	cin >> n;

	string s = "";

	while(n){

		n--;

		//cout << n << endl;

		char c = n % 26 + 'a';

		//cout << n << " % 26 = " << c << endl;

		s = c + s;

		n/=26;

	}

	cout << s << endl;

	return 0;

}

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

#include<algorithm>

#include<cstring>



using namespace std;



int rec[100100];



int main()

{

	long long n;

	int i,a,b,top;

	scanf("%lld",&n);

	while(n)

    {

        top++;

		rec[top]=(n-1)%26;

		n--;

		n/=26;

	}

	for(i=top;i>=1;i--)

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

	printf("\n");

	return 0;

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

#include <cstdio>

#include <cstring>

#include <string>

using namespace std;



int main(){

    long long n,k;

    string s="";

    cin >> n;

    k=n;

    while(k--){

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

        k /= 26;

    }

    cout << s;

    return 0;

}

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

#include<algorithm>

#include<cstring>



using namespace std;



int rec[100100];



int main()

{

	long long n;

	int i,a,b,top;

	scanf("%lld",&n);

	while(n)

    {

        top++;

		rec[top]=(n-1)%26;

		n--;

		n/=26;

	}

	for(i=top;i>=1;i--)

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

	printf("\n");

	return 0;

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

#include <vector> 

#include <cstdio>

#include <iostream>

#include <algorithm>

using namespace std;



vector<char> ans;



int main() {

	long long n;

	cin >> n;

	long long m = n;

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

		if(n == 0) break;

		if(n % 26) {

			char cc = 'a' + ((n % 26 )- 1);

				

			n /= 26;

			ans.push_back(cc);

		}

		 else{

			char cc = 'a' + 25;

			n /= 26;

			n--;

			

			ans.push_back(cc);

		}

	}

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

		cout << ans[i];

	}

	return 0;

}

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

#include<algorithm>

#include<cstring>



using namespace std;



int rec[100100];



int main()

{

	long long n;

	int i,a,b,top;

	scanf("%lld",&n);

	while(n)

    {

        top++;

		rec[top]=(n-1)%26;

		n--;

		n/=26;

	}

	for(i=top;i>=1;i--)

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

	printf("\n");

	return 0;

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

#define rush() int T;scanf("%d",&T);int kase=1;while(T--)

#define pb(x) push_back(x)

#define pr pair<int,int>

#define mem(a) memset(a,0,sizeof(a))

#define  fi first

#define  se second

using namespace std;

typedef long long ll;

const ll maxn=2e6+5;

const ll mod=1e9+7;

ll quickpow(ll x,ll y,ll mod){ll ans=1;while(y){if(y&1)ans=ans*x%mod;x=x*x%mod;y>>=1;}return ans;}



int main()

{

    ll n;

    cin>>n;

    stack<int>s;

    while(n)

    {

        int t;

        t=n%26;

        if(t==0)

        t=26;

        n=(n-t)/26;

        s.push(t);

    }

    while(!s.empty())

    {

        int t=s.top();

        s.pop();

        char a='a'+t-1;

        cout<<a;

    }

    return 0;

}


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

#include<algorithm>

#include<cstring>



using namespace std;



int rec[100100];



int main()

{

	long long n;

	int i,a,b,top;

	scanf("%lld",&n);

	while(n)

    {

        top++;

		rec[top]=(n-1)%26;

		n--;

		n/=26;

	}

	for(i=top;i>=1;i--)

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

	printf("\n");

	return 0;

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

 using namespace std;

 inline int read(){

    int x=0,f=1; char ch=getchar();

    while(ch<'0' || ch>'9') {if(ch=='-') f=-1; ch=getchar();}

    while(ch>='0' && ch<='9') {x=x*10+ch-'0'; ch=getchar();}

    return x*f;

 }

 #define LL long long

 #define MAXN 100010

 LL N;

 int a[100010];

 int main(){

	cin>>N;

	int cnt = 0;

	LL base = 26;

	while (N){

		a[++cnt] = N%26;

		N /= 26;

	}

	//if (cnt>1 && a[cnt]==1) cnt--,a[cnt]+=26;

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

		if (a[i] <= 0){

			a[i] += 26; 

			a[i+1] --;

		}

	}

	while (a[cnt]<=0) cnt--;

	/*

	for (int i=cnt; i; i--){

		//putchar(a[i] + 'a'-1);

		printf("%d\n",a[i]);

	}

	*/

	for (int i=cnt; i; i--){

		putchar(a[i] + 'a'-1);

	}

	puts("");

 	return 0;

 }

 

 

 /*

2



27



123456789



1



26



702



475253

 */

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

#include<algorithm>

#include<cstring>



using namespace std;



int rec[100100];



int main()

{

	long long n;

	int i,a,b,top;

	scanf("%lld",&n);

	while(n)

    {

        top++;

		rec[top]=(n-1)%26;

		n--;

		n/=26;

	}

	for(i=top;i>=1;i--)

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

	printf("\n");

	return 0;

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

#include <iostream>

#include <algorithm>



using namespace std;

const int MAXN = 2e6 + 5;





char ans[MAXN];

//int main() {

//	long long n;

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

//		printf("%lld\n", n * (n + 1) / 2); 

//	}

//	return 0;

//}



int main() {

	long long n; scanf("%lld", &n); int l = 0;

	while (n) {n--;

		ans[++l] = n % 26 + 'a'; n /= 26; 

	}

	for (int i = l; i >= 1; i--) putchar(ans[i]);

	return 0;

}

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

#include <string.h>



int main() {

    long long int tmin, mod;

    char finalname[50];

    scanf("%lld", &tmin);

    int i = 0;

    while (tmin > 0) {

        mod = (tmin - 1) % 26;

        finalname[i++] = 'a' + mod;

        tmin = (tmin - mod) / 26;

    }

    finalname[i] = '\0';

    int len = strlen(finalname);

    for (len--; len >= 0; len--) {

        printf("%c", finalname[len]);

    }

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

#include<string>

#include<algorithm>

using namespace std;

typedef long long ll;

const int maxn = 50;

int main(){

	ll n;

	cin >> n;

	string str = "";

	while(n){

		int a = (n-1)%26;

		n--;

		n/=26;

		char c = 'a' + a;

		str = c + str;

	}

	cout << str << endl;

	return 0;

}

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

#include <string.h>



int main() {

    long long int tmin, mod;

    char finalname[50];

    scanf("%lld", &tmin);

    int i = 0;

    while (tmin > 0) {

        mod = (tmin - 1) % 26;

        finalname[i++] = 'a' + mod;

        tmin = (tmin - mod) / 26;

    }

    finalname[i] = '\0';

    int len = strlen(finalname);

    for (len--; len >= 0; len--) {

        printf("%c", finalname[len]);

    }

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

using namespace std;

typedef long long ll;

int main(){

	ll n;

	cin >> n;

	string s = "";

	while(n){

		n--;

		//cout << n << endl;

		char c = n % 26 + 'a';

		//cout << n << " % 26 = " << c << endl;

		s = c + s;

		n/=26;

	}

	cout << s << endl;

	return 0;

}

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

#include <string.h>



int main() {

    long long int tmin, mod;

    char finalname[50];

    scanf("%lld", &tmin);

    int i = 0;

    while (tmin > 0) {

        mod = (tmin - 1) % 26;

        finalname[i++] = 'a' + mod;

        tmin = (tmin - mod) / 26;

    }

    finalname[i] = '\0';

    int len = strlen(finalname);

    for (len--; len >= 0; len--) {

        printf("%c", finalname[len]);

    }

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

#include <cstdio>

#include <cstring>

#include <string>

using namespace std;



int main(){

    long long n,k;

    string s="";

    cin >> n;

    k=n;

    while(k--){

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

        k /= 26;

    }

    cout << s;

    return 0;

}

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

#include <string.h>



int main() {

    long long int tmin, mod;

    char finalname[50];

    scanf("%lld", &tmin);

    int i = 0;

    while (tmin > 0) {

        mod = (tmin - 1) % 26;

        finalname[i++] = 'a' + mod;

        tmin = (tmin - mod) / 26;

    }

    finalname[i] = '\0';

    int len = strlen(finalname);

    for (len--; len >= 0; len--) {

        printf("%c", finalname[len]);

    }

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

#include <vector> 

#include <cstdio>

#include <iostream>

#include <algorithm>

using namespace std;



vector<char> ans;



int main() {

	long long n;

	cin >> n;

	long long m = n;

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

		if(n == 0) break;

		if(n % 26) {

			char cc = 'a' + ((n % 26 )- 1);

				

			n /= 26;

			ans.push_back(cc);

		}

		 else{

			char cc = 'a' + 25;

			n /= 26;

			n--;

			

			ans.push_back(cc);

		}

	}

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

		cout << ans[i];

	}

	return 0;

}

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

#include <string.h>



int main() {

    long long int tmin, mod;

    char finalname[50];

    scanf("%lld", &tmin);

    int i = 0;

    while (tmin > 0) {

        mod = (tmin - 1) % 26;

        finalname[i++] = 'a' + mod;

        tmin = (tmin - mod) / 26;

    }

    finalname[i] = '\0';

    int len = strlen(finalname);

    for (len--; len >= 0; len--) {

        printf("%c", finalname[len]);

    }

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

#define rush() int T;scanf("%d",&T);int kase=1;while(T--)

#define pb(x) push_back(x)

#define pr pair<int,int>

#define mem(a) memset(a,0,sizeof(a))

#define  fi first

#define  se second

using namespace std;

typedef long long ll;

const ll maxn=2e6+5;

const ll mod=1e9+7;

ll quickpow(ll x,ll y,ll mod){ll ans=1;while(y){if(y&1)ans=ans*x%mod;x=x*x%mod;y>>=1;}return ans;}



int main()

{

    ll n;

    cin>>n;

    stack<int>s;

    while(n)

    {

        int t;

        t=n%26;

        if(t==0)

        t=26;

        n=(n-t)/26;

        s.push(t);

    }

    while(!s.empty())

    {

        int t=s.top();

        s.pop();

        char a='a'+t-1;

        cout<<a;

    }

    return 0;

}


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

#include <string.h>



int main() {

    long long int tmin, mod;

    char finalname[50];

    scanf("%lld", &tmin);

    int i = 0;

    while (tmin > 0) {

        mod = (tmin - 1) % 26;

        finalname[i++] = 'a' + mod;

        tmin = (tmin - mod) / 26;

    }

    finalname[i] = '\0';

    int len = strlen(finalname);

    for (len--; len >= 0; len--) {

        printf("%c", finalname[len]);

    }

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

 using namespace std;

 inline int read(){

    int x=0,f=1; char ch=getchar();

    while(ch<'0' || ch>'9') {if(ch=='-') f=-1; ch=getchar();}

    while(ch>='0' && ch<='9') {x=x*10+ch-'0'; ch=getchar();}

    return x*f;

 }

 #define LL long long

 #define MAXN 100010

 LL N;

 int a[100010];

 int main(){

	cin>>N;

	int cnt = 0;

	LL base = 26;

	while (N){

		a[++cnt] = N%26;

		N /= 26;

	}

	//if (cnt>1 && a[cnt]==1) cnt--,a[cnt]+=26;

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

		if (a[i] <= 0){

			a[i] += 26; 

			a[i+1] --;

		}

	}

	while (a[cnt]<=0) cnt--;

	/*

	for (int i=cnt; i; i--){

		//putchar(a[i] + 'a'-1);

		printf("%d\n",a[i]);

	}

	*/

	for (int i=cnt; i; i--){

		putchar(a[i] + 'a'-1);

	}

	puts("");

 	return 0;

 }

 

 

 /*

2



27



123456789



1



26



702



475253

 */

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

#include <string.h>



int main() {

    long long int tmin, mod;

    char finalname[50];

    scanf("%lld", &tmin);

    int i = 0;

    while (tmin > 0) {

        mod = (tmin - 1) % 26;

        finalname[i++] = 'a' + mod;

        tmin = (tmin - mod) / 26;

    }

    finalname[i] = '\0';

    int len = strlen(finalname);

    for (len--; len >= 0; len--) {

        printf("%c", finalname[len]);

    }

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

#include<stack>

using namespace std;

int ans[100];

int main(){

    long long N;

    while(~scanf("%lld",&N)){

        int temp = 0;

        while(N){

            ans[temp++]=(N-1)%26;

            N--;

            N/=26;

        }

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

            cout << (char)('a'+ans[i]);

        }

        cout << endl;

    }

}

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

#include <string.h>



int main() {

    long long int tmin, mod;

    char finalname[50];

    scanf("%lld", &tmin);

    int i = 0;

    while (tmin > 0) {

        mod = (tmin - 1) % 26;

        finalname[i++] = 'a' + mod;

        tmin = (tmin - mod) / 26;

    }

    finalname[i] = '\0';

    int len = strlen(finalname);

    for (len--; len >= 0; len--) {

        printf("%c", finalname[len]);

    }

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

#include<algorithm>

#include<cmath>

#include<queue>

#include<list>

#include<cstdio>

#include<set>

using namespace std;

int  main()

{

	long long n;

	cin>>n;

	int a;

	int x[1000];

	int num=0;

	while(n)

	{

		a=(n-1)%26;

		x[num++]=a;

		n--;

		n=n/26;

	}

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

		cout<<static_cast<char>(x[i]+'a');

    return 0;

}




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

#include <string.h>



int main() {

    long long int tmin, mod;

    char finalname[50];

    scanf("%lld", &tmin);

    int i = 0;

    while (tmin > 0) {

        mod = (tmin - 1) % 26;

        finalname[i++] = 'a' + mod;

        tmin = (tmin - mod) / 26;

    }

    finalname[i] = '\0';

    int len = strlen(finalname);

    for (len--; len >= 0; len--) {

        printf("%c", finalname[len]);

    }

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

#include <cstring>

#include <algorithm>

#include <cmath>

#define N 100006

#define ll long long

#define dd double

#define esp 1e-10

using namespace std;



ll n;

int a[106],cnt;



int main(){

	scanf("%lld",&n);

	--n;

	cnt=0;

	while(n>0){

		a[++cnt]=n%26;

		n/=26;

		--n;

	}

	if(n==0)

		++cnt;

	for(int i=cnt;i>=1;--i)

		cout<<(char)(a[i]+'a');

}

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

#include <string.h>



int main() {

    long long int tmin, mod;

    char finalname[50];

    scanf("%lld", &tmin);

    int i = 0;

    while (tmin > 0) {

        mod = (tmin - 1) % 26;

        finalname[i++] = 'a' + mod;

        tmin = (tmin - mod) / 26;

    }

    finalname[i] = '\0';

    int len = strlen(finalname);

    for (len--; len >= 0; len--) {

        printf("%c", finalname[len]);

    }

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

using namespace std;

typedef long long ll;

const int N=25;

const int M=26;

#define endl '\n'



char str[N];



int main(){

	ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);

	cout.setf(ios::fixed),cout.precision(3);

	ll n,base=26,cnt=0;

	cin>>n;

	n--;

	while(n>=base){

		n-=base;

		base*=M;

	}

	base/=M;

	while(base){

		str[cnt++]=(n/base)+'a';

		n%=base;

		base/=M;

	}

	str[cnt]='\0';

	cout<<str<<endl;

	return 0;

}

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

#include <string.h>



int main() {

    long long int tmin, mod;

    char finalname[50];

    scanf("%lld", &tmin);

    int i = 0;

    while (tmin > 0) {

        mod = (tmin - 1) % 26;

        finalname[i++] = 'a' + mod;

        tmin = (tmin - mod) / 26;

    }

    finalname[i] = '\0';

    int len = strlen(finalname);

    for (len--; len >= 0; len--) {

        printf("%c", finalname[len]);

    }

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

#include <algorithm>

#include <vector>



using namespace std;



typedef long long ll;

typedef unsigned long long ull;







int main(){

    ll n;

    cin >> n;

    string s = "";

    while (n){

        if (n%26==0){

            s += 'z';

            n--;

        }

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

        n/=26;

    }

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

    cout << s;

    

}

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

#include <string.h>



int main() {

    long long int tmin, mod;

    char finalname[50];

    scanf("%lld", &tmin);

    int i = 0;

    while (tmin > 0) {

        mod = (tmin - 1) % 26;

        finalname[i++] = 'a' + mod;

        tmin = (tmin - mod) / 26;

    }

    finalname[i] = '\0';

    int len = strlen(finalname);

    for (len--; len >= 0; len--) {

        printf("%c", finalname[len]);

    }

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

using namespace std;



int main()

{

    ios::sync_with_stdio(0);

    cin.tie(0); cout.tie(0);

    long long n; cin >> n;

    string s = "";

    while (n)

    {

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

        n /= 26;

    }

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

    cout << s << '\n';

    return 0;

}

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

#include <string.h>



int main() {

    long long int tmin, mod;

    char finalname[50];

    scanf("%lld", &tmin);

    int i = 0;

    while (tmin > 0) {

        mod = (tmin - 1) % 26;

        finalname[i++] = 'a' + mod;

        tmin = (tmin - mod) / 26;

    }

    finalname[i] = '\0';

    int len = strlen(finalname);

    for (len--; len >= 0; len--) {

        printf("%c", finalname[len]);

    }

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

#include <bits/stdc++.h>

#include <string>

using namespace std;

int main()

{

    string s;

    long long n, k;

    cin >> n;

    while (n--)

    {

        k = n % 26 + 97;

        n /= 26;

        s += char (k);

    }

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

    cout << s;

    return 0;

}


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

#include <string.h>



int main() {

    long long int tmin, mod;

    char finalname[50];

    scanf("%lld", &tmin);

    int i = 0;

    while (tmin > 0) {

        mod = (tmin - 1) % 26;

        finalname[i++] = 'a' + mod;

        tmin = (tmin - mod) / 26;

    }

    finalname[i] = '\0';

    int len = strlen(finalname);

    for (len--; len >= 0; len--) {

        printf("%c", finalname[len]);

    }

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

#define ll long long

#define endl "\n"

#define pb push_back

#define READ(FILE) freopen(FILE,"r",stdin)

#define WRITE(FILE) freopen(FILE,"w",stdout)

#define loop(i,s,e) for(int i=s;i<e;i++)

#define mego fast();

using namespace std;

void fast()

{

    ios::sync_with_stdio(0);

    cin.tie(0);

    cout.tie(0);

}



ll lcm(ll x, ll y)

{

    return (x*y)/__gcd(x,y);

}

int sum(string s)

{

    int x=0,sz=s.size();

    loop(i,0,sz)x+=(s[i]-'0');

    return x;

}

int main()

{

    mego

ll x,y=1;

cin>>x;

string ans="";

while(x)

{

    x--;

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

    x/=26;

}

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

    cout<<ans;

    return 0;

}

/*26*/


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

#include <string.h>



int main() {

    long long int tmin, mod;

    char finalname[50];

    scanf("%lld", &tmin);

    int i = 0;

    while (tmin > 0) {

        mod = (tmin - 1) % 26;

        finalname[i++] = 'a' + mod;

        tmin = (tmin - mod) / 26;

    }

    finalname[i] = '\0';

    int len = strlen(finalname);

    for (len--; len >= 0; len--) {

        printf("%c", finalname[len]);

    }

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

#define ll long long

#define _ ios::sync_with_stdio(false);cout.tie(NULL);cin.tie(NULL);

using namespace std;



int main() { _

    ll n; cin >> n;

    string s;

    while(n != 0){

        n--;

        ll temp = n % 26;

        s += 'a' + temp;

        n /= 26;

    }

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

        cout << s[i];

    }

}

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

#include <string.h>



int main() {

    long long int tmin, mod;

    char finalname[50];

    scanf("%lld", &tmin);

    int i = 0;

    while (tmin > 0) {

        mod = (tmin - 1) % 26;

        finalname[i++] = 'a' + mod;

        tmin = (tmin - mod) / 26;

    }

    finalname[i] = '\0';

    int len = strlen(finalname);

    for (len--; len >= 0; len--) {

        printf("%c", finalname[len]);

    }

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

#include <algorithm>

#include <string>

using namespace std;

typedef long long ll ;

char a[30]={'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 main()

{

    ll n,x;

    string s;

    cin>>n;

    while(n)

    {

        x=n%26;

        if(x==0)x=26;

        s+=a[x-1];

        n=(n-1)/26;

    }

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

    cout<<s<<endl;

}

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

#include <string.h>



int main() {

    long long int tmin, mod;

    char finalname[50];

    scanf("%lld", &tmin);

    int i = 0;

    while (tmin > 0) {

        mod = (tmin - 1) % 26;

        finalname[i++] = 'a' + mod;

        tmin = (tmin - mod) / 26;

    }

    finalname[i] = '\0';

    int len = strlen(finalname);

    for (len--; len >= 0; len--) {

        printf("%c", finalname[len]);

    }

}