import java.util.ArrayList;
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();
    List<String> anStrings = new ArrayList<>();
    List<String> list = new ArrayList<>();
    list.add("z");
    list.add("a");
    list.add("b");
    list.add("c");
    list.add("d");
    list.add("e");
    list.add("f");
    list.add("g");
    list.add("h");
    list.add("i");
    list.add("j");
    list.add("k");
    list.add("l");
    list.add("m");
    list.add("n");
    list.add("o");
    list.add("p");
    list.add("q");
    list.add("r");
    list.add("s");
    list.add("t");
    list.add("u");
    list.add("v");
    list.add("w");
    list.add("x");
    list.add("y");
        int cnt = 0;
        boolean flg=false;
        while(true) {
            if(n>=26) {
                n = n - cnt;
                if(n==25 || n==26) flg=true;
                int num = (int) (n % 26);
                anStrings.add(list.get(num));
                n /= 26;
                if(num==0)
                    cnt=1;
                else
                    cnt=0;
                if(flg) break;
            }
            else {
                n = n - cnt;
                if(n==-1) n++;
                int num = (int) (n % 26);
                anStrings.add(list.get(num));
                break;
            }
        }
        for(int i=anStrings.size()-1;i>=0;i--) {
            System.out.print(anStrings.get(i));
        }
        System.out.println("");
      }
  
} import java.util.ArrayList; ArrayList 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();
    List<String> anStrings = new ArrayList<>();
    List<String> list = new ArrayList<>();
    list.add("z");
    list.add("a");
    list.add("b");
    list.add("c");
    list.add("d");
    list.add("e");
    list.add("f");
    list.add("g");
    list.add("h");
    list.add("i");
    list.add("j");
    list.add("k");
    list.add("l");
    list.add("m");
    list.add("n");
    list.add("o");
    list.add("p");
    list.add("q");
    list.add("r");
    list.add("s");
    list.add("t");
    list.add("u");
    list.add("v");
    list.add("w");
    list.add("x");
    list.add("y");
        int cnt = 0;
        boolean flg=false;
        while(true) {
            if(n>=26) {
                n = n - cnt;
                if(n==25 || n==26) flg=true;
                int num = (int) (n % 26);
                anStrings.add(list.get(num));
                n /= 26;
                if(num==0)
                    cnt=1;
                else
                    cnt=0;
                if(flg) break;
            }
            else {
                n = n - cnt;
                if(n==-1) n++;
                int num = (int) (n % 26);
                anStrings.add(list.get(num));
                break;
            }
        }
        for(int i=anStrings.size()-1;i>=0;i--) {
            System.out.print(anStrings.get(i));
        }
        System.out.println("");
      }
  
} Main public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    // 何匹目の犬であるか
    Long n = sc.nextLong();
    List<String> anStrings = new ArrayList<>();
    List<String> list = new ArrayList<>();
    list.add("z");
    list.add("a");
    list.add("b");
    list.add("c");
    list.add("d");
    list.add("e");
    list.add("f");
    list.add("g");
    list.add("h");
    list.add("i");
    list.add("j");
    list.add("k");
    list.add("l");
    list.add("m");
    list.add("n");
    list.add("o");
    list.add("p");
    list.add("q");
    list.add("r");
    list.add("s");
    list.add("t");
    list.add("u");
    list.add("v");
    list.add("w");
    list.add("x");
    list.add("y");
        int cnt = 0;
        boolean flg=false;
        while(true) {
            if(n>=26) {
                n = n - cnt;
                if(n==25 || n==26) flg=true;
                int num = (int) (n % 26);
                anStrings.add(list.get(num));
                n /= 26;
                if(num==0)
                    cnt=1;
                else
                    cnt=0;
                if(flg) break;
            }
            else {
                n = n - cnt;
                if(n==-1) n++;
                int num = (int) (n % 26);
                anStrings.add(list.get(num));
                break;
            }
        }
        for(int i=anStrings.size()-1;i>=0;i--) {
            System.out.print(anStrings.get(i));
        }
        System.out.println("");
      } main {
    Scanner sc = new Scanner(System.in);
    // 何匹目の犬であるか
    Long n = sc.nextLong();
    List<String> anStrings = new ArrayList<>();
    List<String> list = new ArrayList<>();
    list.add("z");
    list.add("a");
    list.add("b");
    list.add("c");
    list.add("d");
    list.add("e");
    list.add("f");
    list.add("g");
    list.add("h");
    list.add("i");
    list.add("j");
    list.add("k");
    list.add("l");
    list.add("m");
    list.add("n");
    list.add("o");
    list.add("p");
    list.add("q");
    list.add("r");
    list.add("s");
    list.add("t");
    list.add("u");
    list.add("v");
    list.add("w");
    list.add("x");
    list.add("y");
        int cnt = 0;
        boolean flg=false;
        while(true) {
            if(n>=26) {
                n = n - cnt;
                if(n==25 || n==26) flg=true;
                int num = (int) (n % 26);
                anStrings.add(list.get(num));
                n /= 26;
                if(num==0)
                    cnt=1;
                else
                    cnt=0;
                if(flg) break;
            }
            else {
                n = n - cnt;
                if(n==-1) n++;
                int num = (int) (n % 26);
                anStrings.add(list.get(num));
                break;
            }
        }
        for(int i=anStrings.size()-1;i>=0;i--) {
            System.out.print(anStrings.get(i));
        }
        System.out.println("");
      } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) Long n = sc.nextLong(); n sc.nextLong() sc.nextLong sc List<String> anStrings = new ArrayList<>(); anStrings new ArrayList<>() List<String> list = new ArrayList<>(); list new ArrayList<>() list.add("z") list.add list "z" list.add("a") list.add list "a" list.add("b") list.add list "b" list.add("c") list.add list "c" list.add("d") list.add list "d" list.add("e") list.add list "e" list.add("f") list.add list "f" list.add("g") list.add list "g" list.add("h") list.add list "h" list.add("i") list.add list "i" list.add("j") list.add list "j" list.add("k") list.add list "k" list.add("l") list.add list "l" list.add("m") list.add list "m" list.add("n") list.add list "n" list.add("o") list.add list "o" list.add("p") list.add list "p" list.add("q") list.add list "q" list.add("r") list.add list "r" list.add("s") list.add list "s" list.add("t") list.add list "t" list.add("u") list.add list "u" list.add("v") list.add list "v" list.add("w") list.add list "w" list.add("x") list.add list "x" list.add("y") list.add list "y" int cnt = 0; cnt 0 boolean flg=false; flg false while(true) {
            if(n>=26) {
                n = n - cnt;
                if(n==25 || n==26) flg=true;
                int num = (int) (n % 26);
                anStrings.add(list.get(num));
                n /= 26;
                if(num==0)
                    cnt=1;
                else
                    cnt=0;
                if(flg) break;
            }
            else {
                n = n - cnt;
                if(n==-1) n++;
                int num = (int) (n % 26);
                anStrings.add(list.get(num));
                break;
            }
        } true {
            if(n>=26) {
                n = n - cnt;
                if(n==25 || n==26) flg=true;
                int num = (int) (n % 26);
                anStrings.add(list.get(num));
                n /= 26;
                if(num==0)
                    cnt=1;
                else
                    cnt=0;
                if(flg) break;
            }
            else {
                n = n - cnt;
                if(n==-1) n++;
                int num = (int) (n % 26);
                anStrings.add(list.get(num));
                break;
            }
        } if(n>=26) {
                n = n - cnt;
                if(n==25 || n==26) flg=true;
                int num = (int) (n % 26);
                anStrings.add(list.get(num));
                n /= 26;
                if(num==0)
                    cnt=1;
                else
                    cnt=0;
                if(flg) break;
            }
            else {
                n = n - cnt;
                if(n==-1) n++;
                int num = (int) (n % 26);
                anStrings.add(list.get(num));
                break;
            } n>=26 n 26 {
                n = n - cnt;
                if(n==25 || n==26) flg=true;
                int num = (int) (n % 26);
                anStrings.add(list.get(num));
                n /= 26;
                if(num==0)
                    cnt=1;
                else
                    cnt=0;
                if(flg) break;
            } n = n - cnt n n - cnt n cnt if(n==25 || n==26) flg=true; n==25 || n==26 n==25 n 25 n==26 n 26 flg=true flg true int num = (int) (n % 26); num (int) (n % 26) n 26 anStrings.add(list.get(num)) anStrings.add anStrings list.get(num) list.get list num n /= 26 n 26 if(num==0)
                    cnt=1;
                else
                    cnt=0; num==0 num 0 cnt=1 cnt 1 cnt=0 cnt 0 if(flg) break; flg break; {
                n = n - cnt;
                if(n==-1) n++;
                int num = (int) (n % 26);
                anStrings.add(list.get(num));
                break;
            } n = n - cnt n n - cnt n cnt if(n==-1) n++; n==-1 n -1 1 n++ n int num = (int) (n % 26); num (int) (n % 26) n 26 anStrings.add(list.get(num)) anStrings.add anStrings list.get(num) list.get list num break; for(int i=anStrings.size()-1;i>=0;i--) {
            System.out.print(anStrings.get(i));
        } int i=anStrings.size()-1; int i=anStrings.size()-1; i anStrings.size()-1 anStrings.size() anStrings.size anStrings 1 i>=0 i 0 i-- i-- i {
            System.out.print(anStrings.get(i));
        } {
            System.out.print(anStrings.get(i));
        } System.out.print(anStrings.get(i)) System.out.print System.out System System.out anStrings.get(i) anStrings.get anStrings i System.out.println("") System.out.println System.out System System.out "" String[] args args public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    // 何匹目の犬であるか
    Long n = sc.nextLong();
    List<String> anStrings = new ArrayList<>();
    List<String> list = new ArrayList<>();
    list.add("z");
    list.add("a");
    list.add("b");
    list.add("c");
    list.add("d");
    list.add("e");
    list.add("f");
    list.add("g");
    list.add("h");
    list.add("i");
    list.add("j");
    list.add("k");
    list.add("l");
    list.add("m");
    list.add("n");
    list.add("o");
    list.add("p");
    list.add("q");
    list.add("r");
    list.add("s");
    list.add("t");
    list.add("u");
    list.add("v");
    list.add("w");
    list.add("x");
    list.add("y");
        int cnt = 0;
        boolean flg=false;
        while(true) {
            if(n>=26) {
                n = n - cnt;
                if(n==25 || n==26) flg=true;
                int num = (int) (n % 26);
                anStrings.add(list.get(num));
                n /= 26;
                if(num==0)
                    cnt=1;
                else
                    cnt=0;
                if(flg) break;
            }
            else {
                n = n - cnt;
                if(n==-1) n++;
                int num = (int) (n % 26);
                anStrings.add(list.get(num));
                break;
            }
        }
        for(int i=anStrings.size()-1;i>=0;i--) {
            System.out.print(anStrings.get(i));
        }
        System.out.println("");
      }
  
} public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    // 何匹目の犬であるか
    Long n = sc.nextLong();
    List<String> anStrings = new ArrayList<>();
    List<String> list = new ArrayList<>();
    list.add("z");
    list.add("a");
    list.add("b");
    list.add("c");
    list.add("d");
    list.add("e");
    list.add("f");
    list.add("g");
    list.add("h");
    list.add("i");
    list.add("j");
    list.add("k");
    list.add("l");
    list.add("m");
    list.add("n");
    list.add("o");
    list.add("p");
    list.add("q");
    list.add("r");
    list.add("s");
    list.add("t");
    list.add("u");
    list.add("v");
    list.add("w");
    list.add("x");
    list.add("y");
        int cnt = 0;
        boolean flg=false;
        while(true) {
            if(n>=26) {
                n = n - cnt;
                if(n==25 || n==26) flg=true;
                int num = (int) (n % 26);
                anStrings.add(list.get(num));
                n /= 26;
                if(num==0)
                    cnt=1;
                else
                    cnt=0;
                if(flg) break;
            }
            else {
                n = n - cnt;
                if(n==-1) n++;
                int num = (int) (n % 26);
                anStrings.add(list.get(num));
                break;
            }
        }
        for(int i=anStrings.size()-1;i>=0;i--) {
            System.out.print(anStrings.get(i));
        }
        System.out.println("");
      }
  
} Main
import java.util.ArrayList;
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();
    List<String> anStrings = new ArrayList<>();
    List<String> list = new ArrayList<>();
    list.add("z");
    list.add("a");
    list.add("b");
    list.add("c");
    list.add("d");
    list.add("e");
    list.add("f");
    list.add("g");
    list.add("h");
    list.add("i");
    list.add("j");
    list.add("k");
    list.add("l");
    list.add("m");
    list.add("n");
    list.add("o");
    list.add("p");
    list.add("q");
    list.add("r");
    list.add("s");
    list.add("t");
    list.add("u");
    list.add("v");
    list.add("w");
    list.add("x");
    list.add("y");
        int cnt = 0;
        boolean flg=false;
        while(true) {
            if(n>=26) {
                n = n - cnt;
                if(n==25 || n==26) flg=true;
                int num = (int) (n % 26);
                anStrings.add(list.get(num));
                n /= 26;
                if(num==0)
                    cnt=1;
                else
                    cnt=0;
                if(flg) break;
            }
            else {
                n = n - cnt;
                if(n==-1) n++;
                int num = (int) (n % 26);
                anStrings.add(list.get(num));
                break;
            }
        }
        for(int i=anStrings.size()-1;i>=0;i--) {
            System.out.print(anStrings.get(i));
        }
        System.out.println("");
      }
  
}