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

public class Main{

	public static void main(String[] args) {

		// 読み込み
		Scanner sc = new Scanner(System.in);
		long N = sc.nextLong();
		N = N-1;
		long div = N;
		int mod = 0;
		
		List<Integer> list = new ArrayList<>();
		
		while(true) {
			mod = (int) (div % 26);
			div = div / 26;
			
			list.add(mod);
			
			if(div == 0) {
				break;
			}
			else {
				div = div -1;
			}
		}
		
		Collections.reverse(list);
				
		StringBuilder sb = new StringBuilder();
		
		for(int i : list) {
			char c = (char) (97 + i);
			sb.append(c);
		}
		System.out.println(sb);
	}
} import java.util.ArrayList; ArrayList java.util import java.util.Collections; Collections java.util import java.util.List; List java.util import java.util.Scanner; Scanner java.util public class Main{

	public static void main(String[] args) {

		// 読み込み
		Scanner sc = new Scanner(System.in);
		long N = sc.nextLong();
		N = N-1;
		long div = N;
		int mod = 0;
		
		List<Integer> list = new ArrayList<>();
		
		while(true) {
			mod = (int) (div % 26);
			div = div / 26;
			
			list.add(mod);
			
			if(div == 0) {
				break;
			}
			else {
				div = div -1;
			}
		}
		
		Collections.reverse(list);
				
		StringBuilder sb = new StringBuilder();
		
		for(int i : list) {
			char c = (char) (97 + i);
			sb.append(c);
		}
		System.out.println(sb);
	}
} Main public static void main(String[] args) {

		// 読み込み
		Scanner sc = new Scanner(System.in);
		long N = sc.nextLong();
		N = N-1;
		long div = N;
		int mod = 0;
		
		List<Integer> list = new ArrayList<>();
		
		while(true) {
			mod = (int) (div % 26);
			div = div / 26;
			
			list.add(mod);
			
			if(div == 0) {
				break;
			}
			else {
				div = div -1;
			}
		}
		
		Collections.reverse(list);
				
		StringBuilder sb = new StringBuilder();
		
		for(int i : list) {
			char c = (char) (97 + i);
			sb.append(c);
		}
		System.out.println(sb);
	} main {

		// 読み込み
		Scanner sc = new Scanner(System.in);
		long N = sc.nextLong();
		N = N-1;
		long div = N;
		int mod = 0;
		
		List<Integer> list = new ArrayList<>();
		
		while(true) {
			mod = (int) (div % 26);
			div = div / 26;
			
			list.add(mod);
			
			if(div == 0) {
				break;
			}
			else {
				div = div -1;
			}
		}
		
		Collections.reverse(list);
				
		StringBuilder sb = new StringBuilder();
		
		for(int i : list) {
			char c = (char) (97 + i);
			sb.append(c);
		}
		System.out.println(sb);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) long N = sc.nextLong(); N sc.nextLong() sc.nextLong sc N = N-1 N N-1 N 1 long div = N; div N int mod = 0; mod 0 List<Integer> list = new ArrayList<>(); list new ArrayList<>() while(true) {
			mod = (int) (div % 26);
			div = div / 26;
			
			list.add(mod);
			
			if(div == 0) {
				break;
			}
			else {
				div = div -1;
			}
		} true {
			mod = (int) (div % 26);
			div = div / 26;
			
			list.add(mod);
			
			if(div == 0) {
				break;
			}
			else {
				div = div -1;
			}
		} mod = (int) (div % 26) mod (int) (div % 26) div 26 div = div / 26 div div / 26 div 26 list.add(mod) list.add list mod if(div == 0) {
				break;
			}
			else {
				div = div -1;
			} div == 0 div 0 {
				break;
			} break; {
				div = div -1;
			} div = div -1 div div -1 div 1 Collections.reverse(list) Collections.reverse Collections list StringBuilder sb = new StringBuilder(); sb new StringBuilder() for(int i : list) {
			char c = (char) (97 + i);
			sb.append(c);
		} int i list {
			char c = (char) (97 + i);
			sb.append(c);
		} {
			char c = (char) (97 + i);
			sb.append(c);
		} char c = (char) (97 + i); c (char) (97 + i) 97 i sb.append(c) sb.append sb c System.out.println(sb) System.out.println System.out System System.out sb String[] args args public class Main{

	public static void main(String[] args) {

		// 読み込み
		Scanner sc = new Scanner(System.in);
		long N = sc.nextLong();
		N = N-1;
		long div = N;
		int mod = 0;
		
		List<Integer> list = new ArrayList<>();
		
		while(true) {
			mod = (int) (div % 26);
			div = div / 26;
			
			list.add(mod);
			
			if(div == 0) {
				break;
			}
			else {
				div = div -1;
			}
		}
		
		Collections.reverse(list);
				
		StringBuilder sb = new StringBuilder();
		
		for(int i : list) {
			char c = (char) (97 + i);
			sb.append(c);
		}
		System.out.println(sb);
	}
} public class Main{

	public static void main(String[] args) {

		// 読み込み
		Scanner sc = new Scanner(System.in);
		long N = sc.nextLong();
		N = N-1;
		long div = N;
		int mod = 0;
		
		List<Integer> list = new ArrayList<>();
		
		while(true) {
			mod = (int) (div % 26);
			div = div / 26;
			
			list.add(mod);
			
			if(div == 0) {
				break;
			}
			else {
				div = div -1;
			}
		}
		
		Collections.reverse(list);
				
		StringBuilder sb = new StringBuilder();
		
		for(int i : list) {
			char c = (char) (97 + i);
			sb.append(c);
		}
		System.out.println(sb);
	}
} Main
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

public class Main{

	public static void main(String[] args) {

		// 読み込み
		Scanner sc = new Scanner(System.in);
		long N = sc.nextLong();
		N = N-1;
		long div = N;
		int mod = 0;
		
		List<Integer> list = new ArrayList<>();
		
		while(true) {
			mod = (int) (div % 26);
			div = div / 26;
			
			list.add(mod);
			
			if(div == 0) {
				break;
			}
			else {
				div = div -1;
			}
		}
		
		Collections.reverse(list);
				
		StringBuilder sb = new StringBuilder();
		
		for(int i : list) {
			char c = (char) (97 + i);
			sb.append(c);
		}
		System.out.println(sb);
	}
}