import java.util.*;

public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long N = sc.nextLong();
        long num = 0;
        int cnt = 1;
        long[] array26 = new long[10000000];
        while (num < N){
            num = num + (long) Math.pow(26, cnt);
            array26[cnt] = num;
            cnt++;
        }

        long digit_num = 0;
        digit_num = N - array26[cnt - 2] - 1;
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < cnt - 1; i++){
            sb.append(String.valueOf((char) (digit_num % 26 + 97)));
            digit_num = digit_num / 26;
        }
        StringBuffer reverseString = new StringBuffer(sb.toString());
        System.out.println(reverseString.reverse().toString());
    }
} import java.util.*; util.* java public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long N = sc.nextLong();
        long num = 0;
        int cnt = 1;
        long[] array26 = new long[10000000];
        while (num < N){
            num = num + (long) Math.pow(26, cnt);
            array26[cnt] = num;
            cnt++;
        }

        long digit_num = 0;
        digit_num = N - array26[cnt - 2] - 1;
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < cnt - 1; i++){
            sb.append(String.valueOf((char) (digit_num % 26 + 97)));
            digit_num = digit_num / 26;
        }
        StringBuffer reverseString = new StringBuffer(sb.toString());
        System.out.println(reverseString.reverse().toString());
    }
} Main public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long N = sc.nextLong();
        long num = 0;
        int cnt = 1;
        long[] array26 = new long[10000000];
        while (num < N){
            num = num + (long) Math.pow(26, cnt);
            array26[cnt] = num;
            cnt++;
        }

        long digit_num = 0;
        digit_num = N - array26[cnt - 2] - 1;
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < cnt - 1; i++){
            sb.append(String.valueOf((char) (digit_num % 26 + 97)));
            digit_num = digit_num / 26;
        }
        StringBuffer reverseString = new StringBuffer(sb.toString());
        System.out.println(reverseString.reverse().toString());
    } main {
        Scanner sc = new Scanner(System.in);
        long N = sc.nextLong();
        long num = 0;
        int cnt = 1;
        long[] array26 = new long[10000000];
        while (num < N){
            num = num + (long) Math.pow(26, cnt);
            array26[cnt] = num;
            cnt++;
        }

        long digit_num = 0;
        digit_num = N - array26[cnt - 2] - 1;
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < cnt - 1; i++){
            sb.append(String.valueOf((char) (digit_num % 26 + 97)));
            digit_num = digit_num / 26;
        }
        StringBuffer reverseString = new StringBuffer(sb.toString());
        System.out.println(reverseString.reverse().toString());
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) long N = sc.nextLong(); N sc.nextLong() sc.nextLong sc long num = 0; num 0 int cnt = 1; cnt 1 long[] array26 = new long[10000000]; array26 new long[10000000] 10000000 while (num < N){
            num = num + (long) Math.pow(26, cnt);
            array26[cnt] = num;
            cnt++;
        } num < N num N {
            num = num + (long) Math.pow(26, cnt);
            array26[cnt] = num;
            cnt++;
        } num = num + (long) Math.pow(26, cnt) num num + (long) Math.pow(26, cnt) num (long) Math.pow(26, cnt) Math.pow Math 26 cnt array26[cnt] = num array26[cnt] array26 cnt num cnt++ cnt long digit_num = 0; digit_num 0 digit_num = N - array26[cnt - 2] - 1 digit_num N - array26[cnt - 2] - 1 N - array26[cnt - 2] - 1 N array26[cnt - 2] array26 cnt - 2 cnt 2 1 StringBuilder sb = new StringBuilder(); sb new StringBuilder() for (int i = 0; i < cnt - 1; i++){
            sb.append(String.valueOf((char) (digit_num % 26 + 97)));
            digit_num = digit_num / 26;
        } int i = 0; int i = 0; i 0 i < cnt - 1 i cnt - 1 cnt 1 i++ i++ i {
            sb.append(String.valueOf((char) (digit_num % 26 + 97)));
            digit_num = digit_num / 26;
        } {
            sb.append(String.valueOf((char) (digit_num % 26 + 97)));
            digit_num = digit_num / 26;
        } sb.append(String.valueOf((char) (digit_num % 26 + 97))) sb.append sb String.valueOf((char) (digit_num % 26 + 97)) String.valueOf String (char) (digit_num % 26 + 97) digit_num % 26 digit_num 26 97 digit_num = digit_num / 26 digit_num digit_num / 26 digit_num 26 StringBuffer reverseString = new StringBuffer(sb.toString()); reverseString new StringBuffer(sb.toString()) System.out.println(reverseString.reverse().toString()) System.out.println System.out System System.out reverseString.reverse().toString() reverseString.reverse().toString reverseString.reverse() reverseString.reverse reverseString String[] args args public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long N = sc.nextLong();
        long num = 0;
        int cnt = 1;
        long[] array26 = new long[10000000];
        while (num < N){
            num = num + (long) Math.pow(26, cnt);
            array26[cnt] = num;
            cnt++;
        }

        long digit_num = 0;
        digit_num = N - array26[cnt - 2] - 1;
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < cnt - 1; i++){
            sb.append(String.valueOf((char) (digit_num % 26 + 97)));
            digit_num = digit_num / 26;
        }
        StringBuffer reverseString = new StringBuffer(sb.toString());
        System.out.println(reverseString.reverse().toString());
    }
} public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long N = sc.nextLong();
        long num = 0;
        int cnt = 1;
        long[] array26 = new long[10000000];
        while (num < N){
            num = num + (long) Math.pow(26, cnt);
            array26[cnt] = num;
            cnt++;
        }

        long digit_num = 0;
        digit_num = N - array26[cnt - 2] - 1;
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < cnt - 1; i++){
            sb.append(String.valueOf((char) (digit_num % 26 + 97)));
            digit_num = digit_num / 26;
        }
        StringBuffer reverseString = new StringBuffer(sb.toString());
        System.out.println(reverseString.reverse().toString());
    }
} Main
import java.util.*;

public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long N = sc.nextLong();
        long num = 0;
        int cnt = 1;
        long[] array26 = new long[10000000];
        while (num < N){
            num = num + (long) Math.pow(26, cnt);
            array26[cnt] = num;
            cnt++;
        }

        long digit_num = 0;
        digit_num = N - array26[cnt - 2] - 1;
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < cnt - 1; i++){
            sb.append(String.valueOf((char) (digit_num % 26 + 97)));
            digit_num = digit_num / 26;
        }
        StringBuffer reverseString = new StringBuffer(sb.toString());
        System.out.println(reverseString.reverse().toString());
    }
}