import java.util.Scanner;

class Main{
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		long N=sc.nextLong();
		int maxlen=12;
		long[] space=new long[maxlen];
		space[0]=1;
		int ketasu=0;
		String ans="";
		for(int i=1; i<maxlen; i++) {
			space[i]=space[i-1]*26;
		}
		for(int i=1; i<maxlen; i++) {
			space[i]+=space[i-1];
		}
		for(int i=0; i<maxlen; i++) {
			if(N>=space[i]) {
				ketasu=i+1;
			}
			else {
				break;
			}
		}
		N-=space[ketasu-1];
		//lp(N+" "+ketasu);
		for(int i=0; i<ketasu; i++) {
			ans=((char)(N%26+'a'))+ans;
			N/=26;
		}
		lp(ans);
	}
	public static void lp(Object o) {
		System.out.println(o);
	}
} import java.util.Scanner; Scanner java.util class Main{
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		long N=sc.nextLong();
		int maxlen=12;
		long[] space=new long[maxlen];
		space[0]=1;
		int ketasu=0;
		String ans="";
		for(int i=1; i<maxlen; i++) {
			space[i]=space[i-1]*26;
		}
		for(int i=1; i<maxlen; i++) {
			space[i]+=space[i-1];
		}
		for(int i=0; i<maxlen; i++) {
			if(N>=space[i]) {
				ketasu=i+1;
			}
			else {
				break;
			}
		}
		N-=space[ketasu-1];
		//lp(N+" "+ketasu);
		for(int i=0; i<ketasu; i++) {
			ans=((char)(N%26+'a'))+ans;
			N/=26;
		}
		lp(ans);
	}
	public static void lp(Object o) {
		System.out.println(o);
	}
} Main public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		long N=sc.nextLong();
		int maxlen=12;
		long[] space=new long[maxlen];
		space[0]=1;
		int ketasu=0;
		String ans="";
		for(int i=1; i<maxlen; i++) {
			space[i]=space[i-1]*26;
		}
		for(int i=1; i<maxlen; i++) {
			space[i]+=space[i-1];
		}
		for(int i=0; i<maxlen; i++) {
			if(N>=space[i]) {
				ketasu=i+1;
			}
			else {
				break;
			}
		}
		N-=space[ketasu-1];
		//lp(N+" "+ketasu);
		for(int i=0; i<ketasu; i++) {
			ans=((char)(N%26+'a'))+ans;
			N/=26;
		}
		lp(ans);
	} main {
		Scanner sc=new Scanner(System.in);
		long N=sc.nextLong();
		int maxlen=12;
		long[] space=new long[maxlen];
		space[0]=1;
		int ketasu=0;
		String ans="";
		for(int i=1; i<maxlen; i++) {
			space[i]=space[i-1]*26;
		}
		for(int i=1; i<maxlen; i++) {
			space[i]+=space[i-1];
		}
		for(int i=0; i<maxlen; i++) {
			if(N>=space[i]) {
				ketasu=i+1;
			}
			else {
				break;
			}
		}
		N-=space[ketasu-1];
		//lp(N+" "+ketasu);
		for(int i=0; i<ketasu; i++) {
			ans=((char)(N%26+'a'))+ans;
			N/=26;
		}
		lp(ans);
	} Scanner sc=new Scanner(System.in); sc new Scanner(System.in) long N=sc.nextLong(); N sc.nextLong() sc.nextLong sc int maxlen=12; maxlen 12 long[] space=new long[maxlen]; space new long[maxlen] maxlen space[0]=1 space[0] space 0 1 int ketasu=0; ketasu 0 String ans=""; ans "" for(int i=1; i<maxlen; i++) {
			space[i]=space[i-1]*26;
		} int i=1; int i=1; i 1 i<maxlen i maxlen i++ i++ i {
			space[i]=space[i-1]*26;
		} {
			space[i]=space[i-1]*26;
		} space[i]=space[i-1]*26 space[i] space i space[i-1]*26 space[i-1] space i-1 i 1 26 for(int i=1; i<maxlen; i++) {
			space[i]+=space[i-1];
		} int i=1; int i=1; i 1 i<maxlen i maxlen i++ i++ i {
			space[i]+=space[i-1];
		} {
			space[i]+=space[i-1];
		} space[i]+=space[i-1] space[i] space i space[i-1] space i-1 i 1 for(int i=0; i<maxlen; i++) {
			if(N>=space[i]) {
				ketasu=i+1;
			}
			else {
				break;
			}
		} int i=0; int i=0; i 0 i<maxlen i maxlen i++ i++ i {
			if(N>=space[i]) {
				ketasu=i+1;
			}
			else {
				break;
			}
		} {
			if(N>=space[i]) {
				ketasu=i+1;
			}
			else {
				break;
			}
		} if(N>=space[i]) {
				ketasu=i+1;
			}
			else {
				break;
			} N>=space[i] N space[i] space i {
				ketasu=i+1;
			} ketasu=i+1 ketasu i+1 i 1 {
				break;
			} break; N-=space[ketasu-1] N space[ketasu-1] space ketasu-1 ketasu 1 for(int i=0; i<ketasu; i++) {
			ans=((char)(N%26+'a'))+ans;
			N/=26;
		} int i=0; int i=0; i 0 i<ketasu i ketasu i++ i++ i {
			ans=((char)(N%26+'a'))+ans;
			N/=26;
		} {
			ans=((char)(N%26+'a'))+ans;
			N/=26;
		} ans=((char)(N%26+'a'))+ans ans ((char)(N%26+'a'))+ans ((char)(N%26+'a')) N%26 N 26 'a' ans N/=26 N 26 lp(ans) lp ans String[] args args public static void lp(Object o) {
		System.out.println(o);
	} lp {
		System.out.println(o);
	} System.out.println(o) System.out.println System.out System System.out o Object o o
import java.util.Scanner;

class Main{
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		long N=sc.nextLong();
		int maxlen=12;
		long[] space=new long[maxlen];
		space[0]=1;
		int ketasu=0;
		String ans="";
		for(int i=1; i<maxlen; i++) {
			space[i]=space[i-1]*26;
		}
		for(int i=1; i<maxlen; i++) {
			space[i]+=space[i-1];
		}
		for(int i=0; i<maxlen; i++) {
			if(N>=space[i]) {
				ketasu=i+1;
			}
			else {
				break;
			}
		}
		N-=space[ketasu-1];
		//lp(N+" "+ketasu);
		for(int i=0; i<ketasu; i++) {
			ans=((char)(N%26+'a'))+ans;
			N/=26;
		}
		lp(ans);
	}
	public static void lp(Object o) {
		System.out.println(o);
	}
}