import java.util.*;
import java.io.*;

class Main{
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st  = new StringTokenizer(br.readLine());

        long N = Long.parseLong(st.nextToken())-1;
        int len = 1;
        for (int i=1; i<13; i++) {
            long sub = (long)Math.pow(26,i);
            if (N-sub>=0) {
                N-=sub;
                len++;
            }
            else
                break;
        }

        String ans = "";

        for (int i=len-1; i>=0; i--) {
            long sub = (long)Math.pow(26,i);
            ans+=(char)(N/sub+'a');
            N=N%sub;
        }

        System.out.println(ans);
        



        



    }

} import java.util.*; util.* java import java.io.*; io.* java class Main{
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st  = new StringTokenizer(br.readLine());

        long N = Long.parseLong(st.nextToken())-1;
        int len = 1;
        for (int i=1; i<13; i++) {
            long sub = (long)Math.pow(26,i);
            if (N-sub>=0) {
                N-=sub;
                len++;
            }
            else
                break;
        }

        String ans = "";

        for (int i=len-1; i>=0; i--) {
            long sub = (long)Math.pow(26,i);
            ans+=(char)(N/sub+'a');
            N=N%sub;
        }

        System.out.println(ans);
        



        



    }

} Main public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st  = new StringTokenizer(br.readLine());

        long N = Long.parseLong(st.nextToken())-1;
        int len = 1;
        for (int i=1; i<13; i++) {
            long sub = (long)Math.pow(26,i);
            if (N-sub>=0) {
                N-=sub;
                len++;
            }
            else
                break;
        }

        String ans = "";

        for (int i=len-1; i>=0; i--) {
            long sub = (long)Math.pow(26,i);
            ans+=(char)(N/sub+'a');
            N=N%sub;
        }

        System.out.println(ans);
        



        



    } main {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st  = new StringTokenizer(br.readLine());

        long N = Long.parseLong(st.nextToken())-1;
        int len = 1;
        for (int i=1; i<13; i++) {
            long sub = (long)Math.pow(26,i);
            if (N-sub>=0) {
                N-=sub;
                len++;
            }
            else
                break;
        }

        String ans = "";

        for (int i=len-1; i>=0; i--) {
            long sub = (long)Math.pow(26,i);
            ans+=(char)(N/sub+'a');
            N=N%sub;
        }

        System.out.println(ans);
        



        



    } BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); br new BufferedReader(new InputStreamReader(System.in)) StringTokenizer st  = new StringTokenizer(br.readLine()); st new StringTokenizer(br.readLine()) long N = Long.parseLong(st.nextToken())-1; N Long.parseLong(st.nextToken())-1 Long.parseLong(st.nextToken()) Long.parseLong Long st.nextToken() st.nextToken st 1 int len = 1; len 1 for (int i=1; i<13; i++) {
            long sub = (long)Math.pow(26,i);
            if (N-sub>=0) {
                N-=sub;
                len++;
            }
            else
                break;
        } int i=1; int i=1; i 1 i<13 i 13 i++ i++ i {
            long sub = (long)Math.pow(26,i);
            if (N-sub>=0) {
                N-=sub;
                len++;
            }
            else
                break;
        } {
            long sub = (long)Math.pow(26,i);
            if (N-sub>=0) {
                N-=sub;
                len++;
            }
            else
                break;
        } long sub = (long)Math.pow(26,i); sub (long)Math.pow(26,i) Math.pow Math 26 i if (N-sub>=0) {
                N-=sub;
                len++;
            }
            else
                break; N-sub>=0 N-sub N sub 0 {
                N-=sub;
                len++;
            } N-=sub N sub len++ len break; String ans = ""; ans "" for (int i=len-1; i>=0; i--) {
            long sub = (long)Math.pow(26,i);
            ans+=(char)(N/sub+'a');
            N=N%sub;
        } int i=len-1; int i=len-1; i len-1 len 1 i>=0 i 0 i-- i-- i {
            long sub = (long)Math.pow(26,i);
            ans+=(char)(N/sub+'a');
            N=N%sub;
        } {
            long sub = (long)Math.pow(26,i);
            ans+=(char)(N/sub+'a');
            N=N%sub;
        } long sub = (long)Math.pow(26,i); sub (long)Math.pow(26,i) Math.pow Math 26 i ans+=(char)(N/sub+'a') ans (char)(N/sub+'a') N/sub N sub 'a' N=N%sub N N%sub N sub System.out.println(ans) System.out.println System.out System System.out ans String[] args args
import java.util.*;
import java.io.*;

class Main{
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st  = new StringTokenizer(br.readLine());

        long N = Long.parseLong(st.nextToken())-1;
        int len = 1;
        for (int i=1; i<13; i++) {
            long sub = (long)Math.pow(26,i);
            if (N-sub>=0) {
                N-=sub;
                len++;
            }
            else
                break;
        }

        String ans = "";

        for (int i=len-1; i>=0; i--) {
            long sub = (long)Math.pow(26,i);
            ans+=(char)(N/sub+'a');
            N=N%sub;
        }

        System.out.println(ans);
        



        



    }

}