import java.util.*;
public class Main {
    public static void main(String[] args){
      // 入力
      Scanner sc = new Scanner(System.in);
      long N = sc.nextLong();
      
      // 命名
      StringBuilder sb = new StringBuilder();
      while(N > 26){
        int amari = (int)(N % 26);
        if(amari == 0){
          amari = 26;
          N -= 26;
        }
        String s = getChar(amari);
        sb.insert(0, s);
        N = N / 26;
      }
      String last = getChar((int)N);
      sb.insert(0, last);
      
      // 出力
      System.out.println(sb.toString());
    }
    
    // 番号の文字をString型で返す関数
    public static String getChar(int num){
      String charList = " abcdefghijklmnopqrstuvwxyz";
      char c = charList.charAt(num);
      
      return String.valueOf(c);
    }

} import java.util.*; util.* java public class Main {
    public static void main(String[] args){
      // 入力
      Scanner sc = new Scanner(System.in);
      long N = sc.nextLong();
      
      // 命名
      StringBuilder sb = new StringBuilder();
      while(N > 26){
        int amari = (int)(N % 26);
        if(amari == 0){
          amari = 26;
          N -= 26;
        }
        String s = getChar(amari);
        sb.insert(0, s);
        N = N / 26;
      }
      String last = getChar((int)N);
      sb.insert(0, last);
      
      // 出力
      System.out.println(sb.toString());
    }
    
    // 番号の文字をString型で返す関数
    public static String getChar(int num){
      String charList = " abcdefghijklmnopqrstuvwxyz";
      char c = charList.charAt(num);
      
      return String.valueOf(c);
    }

} Main public static void main(String[] args){
      // 入力
      Scanner sc = new Scanner(System.in);
      long N = sc.nextLong();
      
      // 命名
      StringBuilder sb = new StringBuilder();
      while(N > 26){
        int amari = (int)(N % 26);
        if(amari == 0){
          amari = 26;
          N -= 26;
        }
        String s = getChar(amari);
        sb.insert(0, s);
        N = N / 26;
      }
      String last = getChar((int)N);
      sb.insert(0, last);
      
      // 出力
      System.out.println(sb.toString());
    } main {
      // 入力
      Scanner sc = new Scanner(System.in);
      long N = sc.nextLong();
      
      // 命名
      StringBuilder sb = new StringBuilder();
      while(N > 26){
        int amari = (int)(N % 26);
        if(amari == 0){
          amari = 26;
          N -= 26;
        }
        String s = getChar(amari);
        sb.insert(0, s);
        N = N / 26;
      }
      String last = getChar((int)N);
      sb.insert(0, last);
      
      // 出力
      System.out.println(sb.toString());
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) long N = sc.nextLong(); N sc.nextLong() sc.nextLong sc StringBuilder sb = new StringBuilder(); sb new StringBuilder() while(N > 26){
        int amari = (int)(N % 26);
        if(amari == 0){
          amari = 26;
          N -= 26;
        }
        String s = getChar(amari);
        sb.insert(0, s);
        N = N / 26;
      } N > 26 N 26 {
        int amari = (int)(N % 26);
        if(amari == 0){
          amari = 26;
          N -= 26;
        }
        String s = getChar(amari);
        sb.insert(0, s);
        N = N / 26;
      } int amari = (int)(N % 26); amari (int)(N % 26) N 26 if(amari == 0){
          amari = 26;
          N -= 26;
        } amari == 0 amari 0 {
          amari = 26;
          N -= 26;
        } amari = 26 amari 26 N -= 26 N 26 String s = getChar(amari); s getChar(amari) getChar amari sb.insert(0, s) sb.insert sb 0 s N = N / 26 N N / 26 N 26 String last = getChar((int)N); last getChar((int)N) getChar (int)N sb.insert(0, last) sb.insert sb 0 last System.out.println(sb.toString()) System.out.println System.out System System.out sb.toString() sb.toString sb String[] args args // 番号の文字をString型で返す関数
    public static String getChar(int num){
      String charList = " abcdefghijklmnopqrstuvwxyz";
      char c = charList.charAt(num);
      
      return String.valueOf(c);
    } getChar {
      String charList = " abcdefghijklmnopqrstuvwxyz";
      char c = charList.charAt(num);
      
      return String.valueOf(c);
    } String charList = " abcdefghijklmnopqrstuvwxyz"; charList " abcdefghijklmnopqrstuvwxyz" char c = charList.charAt(num); c charList.charAt(num) charList.charAt charList num return String.valueOf(c); String.valueOf(c) String.valueOf String c int num num public class Main {
    public static void main(String[] args){
      // 入力
      Scanner sc = new Scanner(System.in);
      long N = sc.nextLong();
      
      // 命名
      StringBuilder sb = new StringBuilder();
      while(N > 26){
        int amari = (int)(N % 26);
        if(amari == 0){
          amari = 26;
          N -= 26;
        }
        String s = getChar(amari);
        sb.insert(0, s);
        N = N / 26;
      }
      String last = getChar((int)N);
      sb.insert(0, last);
      
      // 出力
      System.out.println(sb.toString());
    }
    
    // 番号の文字をString型で返す関数
    public static String getChar(int num){
      String charList = " abcdefghijklmnopqrstuvwxyz";
      char c = charList.charAt(num);
      
      return String.valueOf(c);
    }

} public class Main {
    public static void main(String[] args){
      // 入力
      Scanner sc = new Scanner(System.in);
      long N = sc.nextLong();
      
      // 命名
      StringBuilder sb = new StringBuilder();
      while(N > 26){
        int amari = (int)(N % 26);
        if(amari == 0){
          amari = 26;
          N -= 26;
        }
        String s = getChar(amari);
        sb.insert(0, s);
        N = N / 26;
      }
      String last = getChar((int)N);
      sb.insert(0, last);
      
      // 出力
      System.out.println(sb.toString());
    }
    
    // 番号の文字をString型で返す関数
    public static String getChar(int num){
      String charList = " abcdefghijklmnopqrstuvwxyz";
      char c = charList.charAt(num);
      
      return String.valueOf(c);
    }

} Main
import java.util.*;
public class Main {
    public static void main(String[] args){
      // 入力
      Scanner sc = new Scanner(System.in);
      long N = sc.nextLong();
      
      // 命名
      StringBuilder sb = new StringBuilder();
      while(N > 26){
        int amari = (int)(N % 26);
        if(amari == 0){
          amari = 26;
          N -= 26;
        }
        String s = getChar(amari);
        sb.insert(0, s);
        N = N / 26;
      }
      String last = getChar((int)N);
      sb.insert(0, last);
      
      // 出力
      System.out.println(sb.toString());
    }
    
    // 番号の文字をString型で返す関数
    public static String getChar(int num){
      String charList = " abcdefghijklmnopqrstuvwxyz";
      char c = charList.charAt(num);
      
      return String.valueOf(c);
    }

}