import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner scan = new Scanner(System.in);
		long n = scan.nextLong();
		long a = 26;
		
		char[] al = new char[26];
		String[] alp = new String[26]; 
		ArrayList<String> alph = new ArrayList<String>();
		for(int i = 0; i<26;i++) {
			al[i] = (char)(97+i);
			alp[i] = String.valueOf(al[i]);
			alph.add(alp[i]);
		}
		
		ArrayList<String> list = new ArrayList<String>();
		
		//141167095653375
		
		while(true) {
			if(n < 27) {
				list.add(alph.get((int)n-1));
				break;
			}
			long end = n % a;
			
			if(end == 0) {
				end = 26;
			}
			//System.out.println(end);
			list.add(alph.get((int)end-1));
			long ans = (n-end) / a;
			//System.out.println(ans);
			if(ans < 27) {
				list.add(alph.get((int)ans-1));
				break;
			}
			n = ans;
				
		}
		Collections.reverse(list);
		for(String item:list) {
			System.out.print(item);
		}
	}

} import java.util.ArrayList; ArrayList java.util import java.util.Collections; Collections java.util import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner scan = new Scanner(System.in);
		long n = scan.nextLong();
		long a = 26;
		
		char[] al = new char[26];
		String[] alp = new String[26]; 
		ArrayList<String> alph = new ArrayList<String>();
		for(int i = 0; i<26;i++) {
			al[i] = (char)(97+i);
			alp[i] = String.valueOf(al[i]);
			alph.add(alp[i]);
		}
		
		ArrayList<String> list = new ArrayList<String>();
		
		//141167095653375
		
		while(true) {
			if(n < 27) {
				list.add(alph.get((int)n-1));
				break;
			}
			long end = n % a;
			
			if(end == 0) {
				end = 26;
			}
			//System.out.println(end);
			list.add(alph.get((int)end-1));
			long ans = (n-end) / a;
			//System.out.println(ans);
			if(ans < 27) {
				list.add(alph.get((int)ans-1));
				break;
			}
			n = ans;
				
		}
		Collections.reverse(list);
		for(String item:list) {
			System.out.print(item);
		}
	}

} Main public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner scan = new Scanner(System.in);
		long n = scan.nextLong();
		long a = 26;
		
		char[] al = new char[26];
		String[] alp = new String[26]; 
		ArrayList<String> alph = new ArrayList<String>();
		for(int i = 0; i<26;i++) {
			al[i] = (char)(97+i);
			alp[i] = String.valueOf(al[i]);
			alph.add(alp[i]);
		}
		
		ArrayList<String> list = new ArrayList<String>();
		
		//141167095653375
		
		while(true) {
			if(n < 27) {
				list.add(alph.get((int)n-1));
				break;
			}
			long end = n % a;
			
			if(end == 0) {
				end = 26;
			}
			//System.out.println(end);
			list.add(alph.get((int)end-1));
			long ans = (n-end) / a;
			//System.out.println(ans);
			if(ans < 27) {
				list.add(alph.get((int)ans-1));
				break;
			}
			n = ans;
				
		}
		Collections.reverse(list);
		for(String item:list) {
			System.out.print(item);
		}
	} main {
		// TODO 自動生成されたメソッド・スタブ
		Scanner scan = new Scanner(System.in);
		long n = scan.nextLong();
		long a = 26;
		
		char[] al = new char[26];
		String[] alp = new String[26]; 
		ArrayList<String> alph = new ArrayList<String>();
		for(int i = 0; i<26;i++) {
			al[i] = (char)(97+i);
			alp[i] = String.valueOf(al[i]);
			alph.add(alp[i]);
		}
		
		ArrayList<String> list = new ArrayList<String>();
		
		//141167095653375
		
		while(true) {
			if(n < 27) {
				list.add(alph.get((int)n-1));
				break;
			}
			long end = n % a;
			
			if(end == 0) {
				end = 26;
			}
			//System.out.println(end);
			list.add(alph.get((int)end-1));
			long ans = (n-end) / a;
			//System.out.println(ans);
			if(ans < 27) {
				list.add(alph.get((int)ans-1));
				break;
			}
			n = ans;
				
		}
		Collections.reverse(list);
		for(String item:list) {
			System.out.print(item);
		}
	} Scanner scan = new Scanner(System.in); scan new Scanner(System.in) long n = scan.nextLong(); n scan.nextLong() scan.nextLong scan long a = 26; a 26 char[] al = new char[26]; al new char[26] 26 String[] alp = new String[26]; alp new String[26] 26 ArrayList<String> alph = new ArrayList<String>(); alph new ArrayList<String>() for(int i = 0; i<26;i++) {
			al[i] = (char)(97+i);
			alp[i] = String.valueOf(al[i]);
			alph.add(alp[i]);
		} int i = 0; int i = 0; i 0 i<26 i 26 i++ i++ i {
			al[i] = (char)(97+i);
			alp[i] = String.valueOf(al[i]);
			alph.add(alp[i]);
		} {
			al[i] = (char)(97+i);
			alp[i] = String.valueOf(al[i]);
			alph.add(alp[i]);
		} al[i] = (char)(97+i) al[i] al i (char)(97+i) 97 i alp[i] = String.valueOf(al[i]) alp[i] alp i String.valueOf(al[i]) String.valueOf String al[i] al i alph.add(alp[i]) alph.add alph alp[i] alp i ArrayList<String> list = new ArrayList<String>(); list new ArrayList<String>() while(true) {
			if(n < 27) {
				list.add(alph.get((int)n-1));
				break;
			}
			long end = n % a;
			
			if(end == 0) {
				end = 26;
			}
			//System.out.println(end);
			list.add(alph.get((int)end-1));
			long ans = (n-end) / a;
			//System.out.println(ans);
			if(ans < 27) {
				list.add(alph.get((int)ans-1));
				break;
			}
			n = ans;
				
		} true {
			if(n < 27) {
				list.add(alph.get((int)n-1));
				break;
			}
			long end = n % a;
			
			if(end == 0) {
				end = 26;
			}
			//System.out.println(end);
			list.add(alph.get((int)end-1));
			long ans = (n-end) / a;
			//System.out.println(ans);
			if(ans < 27) {
				list.add(alph.get((int)ans-1));
				break;
			}
			n = ans;
				
		} if(n < 27) {
				list.add(alph.get((int)n-1));
				break;
			} n < 27 n 27 {
				list.add(alph.get((int)n-1));
				break;
			} list.add(alph.get((int)n-1)) list.add list alph.get((int)n-1) alph.get alph (int)n-1 (int)n 1 break; long end = n % a; end n % a n a if(end == 0) {
				end = 26;
			} end == 0 end 0 {
				end = 26;
			} end = 26 end 26 list.add(alph.get((int)end-1)) list.add list alph.get((int)end-1) alph.get alph (int)end-1 (int)end 1 long ans = (n-end) / a; ans (n-end) / a (n-end) n end a if(ans < 27) {
				list.add(alph.get((int)ans-1));
				break;
			} ans < 27 ans 27 {
				list.add(alph.get((int)ans-1));
				break;
			} list.add(alph.get((int)ans-1)) list.add list alph.get((int)ans-1) alph.get alph (int)ans-1 (int)ans 1 break; n = ans n ans Collections.reverse(list) Collections.reverse Collections list for(String item:list) {
			System.out.print(item);
		} String item list {
			System.out.print(item);
		} {
			System.out.print(item);
		} System.out.print(item) System.out.print System.out System System.out item String[] args args public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner scan = new Scanner(System.in);
		long n = scan.nextLong();
		long a = 26;
		
		char[] al = new char[26];
		String[] alp = new String[26]; 
		ArrayList<String> alph = new ArrayList<String>();
		for(int i = 0; i<26;i++) {
			al[i] = (char)(97+i);
			alp[i] = String.valueOf(al[i]);
			alph.add(alp[i]);
		}
		
		ArrayList<String> list = new ArrayList<String>();
		
		//141167095653375
		
		while(true) {
			if(n < 27) {
				list.add(alph.get((int)n-1));
				break;
			}
			long end = n % a;
			
			if(end == 0) {
				end = 26;
			}
			//System.out.println(end);
			list.add(alph.get((int)end-1));
			long ans = (n-end) / a;
			//System.out.println(ans);
			if(ans < 27) {
				list.add(alph.get((int)ans-1));
				break;
			}
			n = ans;
				
		}
		Collections.reverse(list);
		for(String item:list) {
			System.out.print(item);
		}
	}

} public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner scan = new Scanner(System.in);
		long n = scan.nextLong();
		long a = 26;
		
		char[] al = new char[26];
		String[] alp = new String[26]; 
		ArrayList<String> alph = new ArrayList<String>();
		for(int i = 0; i<26;i++) {
			al[i] = (char)(97+i);
			alp[i] = String.valueOf(al[i]);
			alph.add(alp[i]);
		}
		
		ArrayList<String> list = new ArrayList<String>();
		
		//141167095653375
		
		while(true) {
			if(n < 27) {
				list.add(alph.get((int)n-1));
				break;
			}
			long end = n % a;
			
			if(end == 0) {
				end = 26;
			}
			//System.out.println(end);
			list.add(alph.get((int)end-1));
			long ans = (n-end) / a;
			//System.out.println(ans);
			if(ans < 27) {
				list.add(alph.get((int)ans-1));
				break;
			}
			n = ans;
				
		}
		Collections.reverse(list);
		for(String item:list) {
			System.out.print(item);
		}
	}

} Main
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner scan = new Scanner(System.in);
		long n = scan.nextLong();
		long a = 26;
		
		char[] al = new char[26];
		String[] alp = new String[26]; 
		ArrayList<String> alph = new ArrayList<String>();
		for(int i = 0; i<26;i++) {
			al[i] = (char)(97+i);
			alp[i] = String.valueOf(al[i]);
			alph.add(alp[i]);
		}
		
		ArrayList<String> list = new ArrayList<String>();
		
		//141167095653375
		
		while(true) {
			if(n < 27) {
				list.add(alph.get((int)n-1));
				break;
			}
			long end = n % a;
			
			if(end == 0) {
				end = 26;
			}
			//System.out.println(end);
			list.add(alph.get((int)end-1));
			long ans = (n-end) / a;
			//System.out.println(ans);
			if(ans < 27) {
				list.add(alph.get((int)ans-1));
				break;
			}
			n = ans;
				
		}
		Collections.reverse(list);
		for(String item:list) {
			System.out.print(item);
		}
	}

}
