import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        List<String> alp = Arrays.asList("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");
        long n = sc.nextLong();
        int a = 0;
        for (int i = 1; i <= 26; i++) {

            long pow = (long) Math.pow(26, i);
            long sub = 0;
            if (n <= pow) {
                a = i;
                break;
            } else {
                sub += pow;
            }
            n = n - sub;
        }
        StringBuilder sb = new StringBuilder();

        for (int i = 1; i < a; i++) {
            long pow = (long) Math.pow(26, a - i);
            long sub = 0;
            for (int j = 1; j <= 26; j++) {
                if (n <= pow * j) {
                    sb.append(alp.get(j - 1));
                    break;
                } else {
                    sub += pow;
                }
            }
            n = n - sub;
        }
        sb.append(alp.get((int) (n - 1)));
        System.out.println(sb.toString());
    }
} import java.util.Arrays; Arrays 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);
        List<String> alp = Arrays.asList("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");
        long n = sc.nextLong();
        int a = 0;
        for (int i = 1; i <= 26; i++) {

            long pow = (long) Math.pow(26, i);
            long sub = 0;
            if (n <= pow) {
                a = i;
                break;
            } else {
                sub += pow;
            }
            n = n - sub;
        }
        StringBuilder sb = new StringBuilder();

        for (int i = 1; i < a; i++) {
            long pow = (long) Math.pow(26, a - i);
            long sub = 0;
            for (int j = 1; j <= 26; j++) {
                if (n <= pow * j) {
                    sb.append(alp.get(j - 1));
                    break;
                } else {
                    sub += pow;
                }
            }
            n = n - sub;
        }
        sb.append(alp.get((int) (n - 1)));
        System.out.println(sb.toString());
    }
} Main public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        List<String> alp = Arrays.asList("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");
        long n = sc.nextLong();
        int a = 0;
        for (int i = 1; i <= 26; i++) {

            long pow = (long) Math.pow(26, i);
            long sub = 0;
            if (n <= pow) {
                a = i;
                break;
            } else {
                sub += pow;
            }
            n = n - sub;
        }
        StringBuilder sb = new StringBuilder();

        for (int i = 1; i < a; i++) {
            long pow = (long) Math.pow(26, a - i);
            long sub = 0;
            for (int j = 1; j <= 26; j++) {
                if (n <= pow * j) {
                    sb.append(alp.get(j - 1));
                    break;
                } else {
                    sub += pow;
                }
            }
            n = n - sub;
        }
        sb.append(alp.get((int) (n - 1)));
        System.out.println(sb.toString());
    } main {
        Scanner sc = new Scanner(System.in);
        List<String> alp = Arrays.asList("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");
        long n = sc.nextLong();
        int a = 0;
        for (int i = 1; i <= 26; i++) {

            long pow = (long) Math.pow(26, i);
            long sub = 0;
            if (n <= pow) {
                a = i;
                break;
            } else {
                sub += pow;
            }
            n = n - sub;
        }
        StringBuilder sb = new StringBuilder();

        for (int i = 1; i < a; i++) {
            long pow = (long) Math.pow(26, a - i);
            long sub = 0;
            for (int j = 1; j <= 26; j++) {
                if (n <= pow * j) {
                    sb.append(alp.get(j - 1));
                    break;
                } else {
                    sub += pow;
                }
            }
            n = n - sub;
        }
        sb.append(alp.get((int) (n - 1)));
        System.out.println(sb.toString());
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) List<String> alp = Arrays.asList("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"); alp Arrays.asList("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") Arrays.asList Arrays "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" long n = sc.nextLong(); n sc.nextLong() sc.nextLong sc int a = 0; a 0 for (int i = 1; i <= 26; i++) {

            long pow = (long) Math.pow(26, i);
            long sub = 0;
            if (n <= pow) {
                a = i;
                break;
            } else {
                sub += pow;
            }
            n = n - sub;
        } int i = 1; int i = 1; i 1 i <= 26 i 26 i++ i++ i {

            long pow = (long) Math.pow(26, i);
            long sub = 0;
            if (n <= pow) {
                a = i;
                break;
            } else {
                sub += pow;
            }
            n = n - sub;
        } {

            long pow = (long) Math.pow(26, i);
            long sub = 0;
            if (n <= pow) {
                a = i;
                break;
            } else {
                sub += pow;
            }
            n = n - sub;
        } long pow = (long) Math.pow(26, i); pow (long) Math.pow(26, i) Math.pow Math 26 i long sub = 0; sub 0 if (n <= pow) {
                a = i;
                break;
            } else {
                sub += pow;
            } n <= pow n pow {
                a = i;
                break;
            } a = i a i break; {
                sub += pow;
            } sub += pow sub pow n = n - sub n n - sub n sub StringBuilder sb = new StringBuilder(); sb new StringBuilder() for (int i = 1; i < a; i++) {
            long pow = (long) Math.pow(26, a - i);
            long sub = 0;
            for (int j = 1; j <= 26; j++) {
                if (n <= pow * j) {
                    sb.append(alp.get(j - 1));
                    break;
                } else {
                    sub += pow;
                }
            }
            n = n - sub;
        } int i = 1; int i = 1; i 1 i < a i a i++ i++ i {
            long pow = (long) Math.pow(26, a - i);
            long sub = 0;
            for (int j = 1; j <= 26; j++) {
                if (n <= pow * j) {
                    sb.append(alp.get(j - 1));
                    break;
                } else {
                    sub += pow;
                }
            }
            n = n - sub;
        } {
            long pow = (long) Math.pow(26, a - i);
            long sub = 0;
            for (int j = 1; j <= 26; j++) {
                if (n <= pow * j) {
                    sb.append(alp.get(j - 1));
                    break;
                } else {
                    sub += pow;
                }
            }
            n = n - sub;
        } long pow = (long) Math.pow(26, a - i); pow (long) Math.pow(26, a - i) Math.pow Math 26 a - i a i long sub = 0; sub 0 for (int j = 1; j <= 26; j++) {
                if (n <= pow * j) {
                    sb.append(alp.get(j - 1));
                    break;
                } else {
                    sub += pow;
                }
            } int j = 1; int j = 1; j 1 j <= 26 j 26 j++ j++ j {
                if (n <= pow * j) {
                    sb.append(alp.get(j - 1));
                    break;
                } else {
                    sub += pow;
                }
            } {
                if (n <= pow * j) {
                    sb.append(alp.get(j - 1));
                    break;
                } else {
                    sub += pow;
                }
            } if (n <= pow * j) {
                    sb.append(alp.get(j - 1));
                    break;
                } else {
                    sub += pow;
                } n <= pow * j n pow * j pow j {
                    sb.append(alp.get(j - 1));
                    break;
                } sb.append(alp.get(j - 1)) sb.append sb alp.get(j - 1) alp.get alp j - 1 j 1 break; {
                    sub += pow;
                } sub += pow sub pow n = n - sub n n - sub n sub sb.append(alp.get((int) (n - 1))) sb.append sb alp.get((int) (n - 1)) alp.get alp (int) (n - 1) n 1 System.out.println(sb.toString()) System.out.println System.out System System.out sb.toString() sb.toString sb String[] args args public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        List<String> alp = Arrays.asList("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");
        long n = sc.nextLong();
        int a = 0;
        for (int i = 1; i <= 26; i++) {

            long pow = (long) Math.pow(26, i);
            long sub = 0;
            if (n <= pow) {
                a = i;
                break;
            } else {
                sub += pow;
            }
            n = n - sub;
        }
        StringBuilder sb = new StringBuilder();

        for (int i = 1; i < a; i++) {
            long pow = (long) Math.pow(26, a - i);
            long sub = 0;
            for (int j = 1; j <= 26; j++) {
                if (n <= pow * j) {
                    sb.append(alp.get(j - 1));
                    break;
                } else {
                    sub += pow;
                }
            }
            n = n - sub;
        }
        sb.append(alp.get((int) (n - 1)));
        System.out.println(sb.toString());
    }
} public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        List<String> alp = Arrays.asList("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");
        long n = sc.nextLong();
        int a = 0;
        for (int i = 1; i <= 26; i++) {

            long pow = (long) Math.pow(26, i);
            long sub = 0;
            if (n <= pow) {
                a = i;
                break;
            } else {
                sub += pow;
            }
            n = n - sub;
        }
        StringBuilder sb = new StringBuilder();

        for (int i = 1; i < a; i++) {
            long pow = (long) Math.pow(26, a - i);
            long sub = 0;
            for (int j = 1; j <= 26; j++) {
                if (n <= pow * j) {
                    sb.append(alp.get(j - 1));
                    break;
                } else {
                    sub += pow;
                }
            }
            n = n - sub;
        }
        sb.append(alp.get((int) (n - 1)));
        System.out.println(sb.toString());
    }
} Main
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        List<String> alp = Arrays.asList("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");
        long n = sc.nextLong();
        int a = 0;
        for (int i = 1; i <= 26; i++) {

            long pow = (long) Math.pow(26, i);
            long sub = 0;
            if (n <= pow) {
                a = i;
                break;
            } else {
                sub += pow;
            }
            n = n - sub;
        }
        StringBuilder sb = new StringBuilder();

        for (int i = 1; i < a; i++) {
            long pow = (long) Math.pow(26, a - i);
            long sub = 0;
            for (int j = 1; j <= 26; j++) {
                if (n <= pow * j) {
                    sb.append(alp.get(j - 1));
                    break;
                } else {
                    sub += pow;
                }
            }
            n = n - sub;
        }
        sb.append(alp.get((int) (n - 1)));
        System.out.println(sb.toString());
    }
}
