import java.util.Scanner;
import java.util.Stack;

public class Main {

	public static void main(String[] args) {
	    Scanner sc = new Scanner(System.in);
        long N = sc.nextLong();
        String[] alphabet = {"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"};
        Stack<String> stack = new Stack<String>();

        while(N>26) {
            long remain = N%26;
            if(remain==0) {
                remain=26;
            }
            stack.add(alphabet[(int)(remain-1)]);
            N-=remain;
            N/=26;
        }
        long last_remain = N%26;
        if(last_remain == 0) {
            last_remain=26;
        }
        stack.add(alphabet[(int)(last_remain-1)]);

        while(!stack.isEmpty()) {
            System.out.print(stack.pop());
        }

	}

} import java.util.Scanner; Scanner java.util import java.util.Stack; Stack java.util public class Main {

	public static void main(String[] args) {
	    Scanner sc = new Scanner(System.in);
        long N = sc.nextLong();
        String[] alphabet = {"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"};
        Stack<String> stack = new Stack<String>();

        while(N>26) {
            long remain = N%26;
            if(remain==0) {
                remain=26;
            }
            stack.add(alphabet[(int)(remain-1)]);
            N-=remain;
            N/=26;
        }
        long last_remain = N%26;
        if(last_remain == 0) {
            last_remain=26;
        }
        stack.add(alphabet[(int)(last_remain-1)]);

        while(!stack.isEmpty()) {
            System.out.print(stack.pop());
        }

	}

} Main public static void main(String[] args) {
	    Scanner sc = new Scanner(System.in);
        long N = sc.nextLong();
        String[] alphabet = {"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"};
        Stack<String> stack = new Stack<String>();

        while(N>26) {
            long remain = N%26;
            if(remain==0) {
                remain=26;
            }
            stack.add(alphabet[(int)(remain-1)]);
            N-=remain;
            N/=26;
        }
        long last_remain = N%26;
        if(last_remain == 0) {
            last_remain=26;
        }
        stack.add(alphabet[(int)(last_remain-1)]);

        while(!stack.isEmpty()) {
            System.out.print(stack.pop());
        }

	} main {
	    Scanner sc = new Scanner(System.in);
        long N = sc.nextLong();
        String[] alphabet = {"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"};
        Stack<String> stack = new Stack<String>();

        while(N>26) {
            long remain = N%26;
            if(remain==0) {
                remain=26;
            }
            stack.add(alphabet[(int)(remain-1)]);
            N-=remain;
            N/=26;
        }
        long last_remain = N%26;
        if(last_remain == 0) {
            last_remain=26;
        }
        stack.add(alphabet[(int)(last_remain-1)]);

        while(!stack.isEmpty()) {
            System.out.print(stack.pop());
        }

	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) long N = sc.nextLong(); N sc.nextLong() sc.nextLong sc String[] alphabet = {"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"}; alphabet {"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"} "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" Stack<String> stack = new Stack<String>(); stack new Stack<String>() while(N>26) {
            long remain = N%26;
            if(remain==0) {
                remain=26;
            }
            stack.add(alphabet[(int)(remain-1)]);
            N-=remain;
            N/=26;
        } N>26 N 26 {
            long remain = N%26;
            if(remain==0) {
                remain=26;
            }
            stack.add(alphabet[(int)(remain-1)]);
            N-=remain;
            N/=26;
        } long remain = N%26; remain N%26 N 26 if(remain==0) {
                remain=26;
            } remain==0 remain 0 {
                remain=26;
            } remain=26 remain 26 stack.add(alphabet[(int)(remain-1)]) stack.add stack alphabet[(int)(remain-1)] alphabet (int)(remain-1) remain 1 N-=remain N remain N/=26 N 26 long last_remain = N%26; last_remain N%26 N 26 if(last_remain == 0) {
            last_remain=26;
        } last_remain == 0 last_remain 0 {
            last_remain=26;
        } last_remain=26 last_remain 26 stack.add(alphabet[(int)(last_remain-1)]) stack.add stack alphabet[(int)(last_remain-1)] alphabet (int)(last_remain-1) last_remain 1 while(!stack.isEmpty()) {
            System.out.print(stack.pop());
        } !stack.isEmpty() stack.isEmpty() stack.isEmpty stack {
            System.out.print(stack.pop());
        } System.out.print(stack.pop()) System.out.print System.out System System.out stack.pop() stack.pop stack String[] args args public class Main {

	public static void main(String[] args) {
	    Scanner sc = new Scanner(System.in);
        long N = sc.nextLong();
        String[] alphabet = {"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"};
        Stack<String> stack = new Stack<String>();

        while(N>26) {
            long remain = N%26;
            if(remain==0) {
                remain=26;
            }
            stack.add(alphabet[(int)(remain-1)]);
            N-=remain;
            N/=26;
        }
        long last_remain = N%26;
        if(last_remain == 0) {
            last_remain=26;
        }
        stack.add(alphabet[(int)(last_remain-1)]);

        while(!stack.isEmpty()) {
            System.out.print(stack.pop());
        }

	}

} public class Main {

	public static void main(String[] args) {
	    Scanner sc = new Scanner(System.in);
        long N = sc.nextLong();
        String[] alphabet = {"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"};
        Stack<String> stack = new Stack<String>();

        while(N>26) {
            long remain = N%26;
            if(remain==0) {
                remain=26;
            }
            stack.add(alphabet[(int)(remain-1)]);
            N-=remain;
            N/=26;
        }
        long last_remain = N%26;
        if(last_remain == 0) {
            last_remain=26;
        }
        stack.add(alphabet[(int)(last_remain-1)]);

        while(!stack.isEmpty()) {
            System.out.print(stack.pop());
        }

	}

} Main
import java.util.Scanner;
import java.util.Stack;

public class Main {

	public static void main(String[] args) {
	    Scanner sc = new Scanner(System.in);
        long N = sc.nextLong();
        String[] alphabet = {"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"};
        Stack<String> stack = new Stack<String>();

        while(N>26) {
            long remain = N%26;
            if(remain==0) {
                remain=26;
            }
            stack.add(alphabet[(int)(remain-1)]);
            N-=remain;
            N/=26;
        }
        long last_remain = N%26;
        if(last_remain == 0) {
            last_remain=26;
        }
        stack.add(alphabet[(int)(last_remain-1)]);

        while(!stack.isEmpty()) {
            System.out.print(stack.pop());
        }

	}

}