import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        try (Scanner sc = new Scanner(System.in)) {
            long N = sc.nextLong() - 0;
            int k = 1;
            long n = 26;
            long sum = 26;
            long prev = 0;
            for (; N > sum;) {
                k++;
                n *= 26;
                prev = sum;
                sum += n;
            }

            long N2 = N - prev - 1;
            String name = dfs(N2, k);

            System.out.println(name);
        }
    }

    private static String dfs(long n, int k) {
        if (k <= 0) {
            return "";
        }
        return dfs(n / 26, k - 1) + (char) ('a' + ((n % 26)));
    }

} import java.util.Scanner; Scanner java.util public class Main {
    public static void main(String[] args) {
        try (Scanner sc = new Scanner(System.in)) {
            long N = sc.nextLong() - 0;
            int k = 1;
            long n = 26;
            long sum = 26;
            long prev = 0;
            for (; N > sum;) {
                k++;
                n *= 26;
                prev = sum;
                sum += n;
            }

            long N2 = N - prev - 1;
            String name = dfs(N2, k);

            System.out.println(name);
        }
    }

    private static String dfs(long n, int k) {
        if (k <= 0) {
            return "";
        }
        return dfs(n / 26, k - 1) + (char) ('a' + ((n % 26)));
    }

} Main public static void main(String[] args) {
        try (Scanner sc = new Scanner(System.in)) {
            long N = sc.nextLong() - 0;
            int k = 1;
            long n = 26;
            long sum = 26;
            long prev = 0;
            for (; N > sum;) {
                k++;
                n *= 26;
                prev = sum;
                sum += n;
            }

            long N2 = N - prev - 1;
            String name = dfs(N2, k);

            System.out.println(name);
        }
    } main {
        try (Scanner sc = new Scanner(System.in)) {
            long N = sc.nextLong() - 0;
            int k = 1;
            long n = 26;
            long sum = 26;
            long prev = 0;
            for (; N > sum;) {
                k++;
                n *= 26;
                prev = sum;
                sum += n;
            }

            long N2 = N - prev - 1;
            String name = dfs(N2, k);

            System.out.println(name);
        }
    } try (Scanner sc = new Scanner(System.in)) {
            long N = sc.nextLong() - 0;
            int k = 1;
            long n = 26;
            long sum = 26;
            long prev = 0;
            for (; N > sum;) {
                k++;
                n *= 26;
                prev = sum;
                sum += n;
            }

            long N2 = N - prev - 1;
            String name = dfs(N2, k);

            System.out.println(name);
        } {
            long N = sc.nextLong() - 0;
            int k = 1;
            long n = 26;
            long sum = 26;
            long prev = 0;
            for (; N > sum;) {
                k++;
                n *= 26;
                prev = sum;
                sum += n;
            }

            long N2 = N - prev - 1;
            String name = dfs(N2, k);

            System.out.println(name);
        } Scanner sc = new Scanner(System.in) Scanner sc = new Scanner(System.in) new Scanner(System.in) long N = sc.nextLong() - 0; N sc.nextLong() - 0 sc.nextLong() sc.nextLong sc 0 int k = 1; k 1 long n = 26; n 26 long sum = 26; sum 26 long prev = 0; prev 0 for (; N > sum;) {
                k++;
                n *= 26;
                prev = sum;
                sum += n;
            } ; N > sum N sum {
                k++;
                n *= 26;
                prev = sum;
                sum += n;
            } {
                k++;
                n *= 26;
                prev = sum;
                sum += n;
            } k++ k n *= 26 n 26 prev = sum prev sum sum += n sum n long N2 = N - prev - 1; N2 N - prev - 1 N - prev - 1 N prev 1 String name = dfs(N2, k); name dfs(N2, k) dfs N2 k System.out.println(name) System.out.println System.out System System.out name String[] args args private static String dfs(long n, int k) {
        if (k <= 0) {
            return "";
        }
        return dfs(n / 26, k - 1) + (char) ('a' + ((n % 26)));
    } dfs {
        if (k <= 0) {
            return "";
        }
        return dfs(n / 26, k - 1) + (char) ('a' + ((n % 26)));
    } if (k <= 0) {
            return "";
        } k <= 0 k 0 {
            return "";
        } return ""; "" return dfs(n / 26, k - 1) + (char) ('a' + ((n % 26))); dfs(n / 26, k - 1) + (char) ('a' + ((n % 26))) dfs(n / 26, k - 1) dfs n / 26 n 26 k - 1 k 1 (char) ('a' + ((n % 26))) 'a' ((n % 26)) n 26 long n n int k k public class Main {
    public static void main(String[] args) {
        try (Scanner sc = new Scanner(System.in)) {
            long N = sc.nextLong() - 0;
            int k = 1;
            long n = 26;
            long sum = 26;
            long prev = 0;
            for (; N > sum;) {
                k++;
                n *= 26;
                prev = sum;
                sum += n;
            }

            long N2 = N - prev - 1;
            String name = dfs(N2, k);

            System.out.println(name);
        }
    }

    private static String dfs(long n, int k) {
        if (k <= 0) {
            return "";
        }
        return dfs(n / 26, k - 1) + (char) ('a' + ((n % 26)));
    }

} public class Main {
    public static void main(String[] args) {
        try (Scanner sc = new Scanner(System.in)) {
            long N = sc.nextLong() - 0;
            int k = 1;
            long n = 26;
            long sum = 26;
            long prev = 0;
            for (; N > sum;) {
                k++;
                n *= 26;
                prev = sum;
                sum += n;
            }

            long N2 = N - prev - 1;
            String name = dfs(N2, k);

            System.out.println(name);
        }
    }

    private static String dfs(long n, int k) {
        if (k <= 0) {
            return "";
        }
        return dfs(n / 26, k - 1) + (char) ('a' + ((n % 26)));
    }

} Main
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        try (Scanner sc = new Scanner(System.in)) {
            long N = sc.nextLong() - 0;
            int k = 1;
            long n = 26;
            long sum = 26;
            long prev = 0;
            for (; N > sum;) {
                k++;
                n *= 26;
                prev = sum;
                sum += n;
            }

            long N2 = N - prev - 1;
            String name = dfs(N2, k);

            System.out.println(name);
        }
    }

    private static String dfs(long n, int k) {
        if (k <= 0) {
            return "";
        }
        return dfs(n / 26, k - 1) + (char) ('a' + ((n % 26)));
    }

}
