import java.util.*;

public class Main {
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        char alphabet[] = new char[26];

        char c = 'a';

        for(int i = 0; i < 26; i++){
            alphabet[i] = c++;
        }

        long n = sc.nextLong();

        List<Integer> list = new ArrayList<>();

        int k = 0;
        while(true){
            k++;
            long p = n % 26;

            if(p == 0) {
                list.add(26);
                if((n / 26) - 1 == 0){
                    break;
                }
                n = (n / 26) - 1;
            }else{
                list.add((int)p);
                if(n / 26 == 0){
                     break;
                }
                n /= 26;
            }
        }

        StringBuilder sb = new StringBuilder();

        for(int j = 0; j < k ; j++){
            sb.append(alphabet[list.get(j) - 1]);
        }

        System.out.println(sb.reverse());

    }
} import java.util.*; util.* java public class Main {
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        char alphabet[] = new char[26];

        char c = 'a';

        for(int i = 0; i < 26; i++){
            alphabet[i] = c++;
        }

        long n = sc.nextLong();

        List<Integer> list = new ArrayList<>();

        int k = 0;
        while(true){
            k++;
            long p = n % 26;

            if(p == 0) {
                list.add(26);
                if((n / 26) - 1 == 0){
                    break;
                }
                n = (n / 26) - 1;
            }else{
                list.add((int)p);
                if(n / 26 == 0){
                     break;
                }
                n /= 26;
            }
        }

        StringBuilder sb = new StringBuilder();

        for(int j = 0; j < k ; j++){
            sb.append(alphabet[list.get(j) - 1]);
        }

        System.out.println(sb.reverse());

    }
} Main public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        char alphabet[] = new char[26];

        char c = 'a';

        for(int i = 0; i < 26; i++){
            alphabet[i] = c++;
        }

        long n = sc.nextLong();

        List<Integer> list = new ArrayList<>();

        int k = 0;
        while(true){
            k++;
            long p = n % 26;

            if(p == 0) {
                list.add(26);
                if((n / 26) - 1 == 0){
                    break;
                }
                n = (n / 26) - 1;
            }else{
                list.add((int)p);
                if(n / 26 == 0){
                     break;
                }
                n /= 26;
            }
        }

        StringBuilder sb = new StringBuilder();

        for(int j = 0; j < k ; j++){
            sb.append(alphabet[list.get(j) - 1]);
        }

        System.out.println(sb.reverse());

    } main {
        Scanner sc = new Scanner(System.in);
        char alphabet[] = new char[26];

        char c = 'a';

        for(int i = 0; i < 26; i++){
            alphabet[i] = c++;
        }

        long n = sc.nextLong();

        List<Integer> list = new ArrayList<>();

        int k = 0;
        while(true){
            k++;
            long p = n % 26;

            if(p == 0) {
                list.add(26);
                if((n / 26) - 1 == 0){
                    break;
                }
                n = (n / 26) - 1;
            }else{
                list.add((int)p);
                if(n / 26 == 0){
                     break;
                }
                n /= 26;
            }
        }

        StringBuilder sb = new StringBuilder();

        for(int j = 0; j < k ; j++){
            sb.append(alphabet[list.get(j) - 1]);
        }

        System.out.println(sb.reverse());

    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) char alphabet[] = new char[26]; alphabet new char[26] 26 char c = 'a'; c 'a' for(int i = 0; i < 26; i++){
            alphabet[i] = c++;
        } int i = 0; int i = 0; i 0 i < 26 i 26 i++ i++ i {
            alphabet[i] = c++;
        } {
            alphabet[i] = c++;
        } alphabet[i] = c++ alphabet[i] alphabet i c++ c long n = sc.nextLong(); n sc.nextLong() sc.nextLong sc List<Integer> list = new ArrayList<>(); list new ArrayList<>() int k = 0; k 0 while(true){
            k++;
            long p = n % 26;

            if(p == 0) {
                list.add(26);
                if((n / 26) - 1 == 0){
                    break;
                }
                n = (n / 26) - 1;
            }else{
                list.add((int)p);
                if(n / 26 == 0){
                     break;
                }
                n /= 26;
            }
        } true {
            k++;
            long p = n % 26;

            if(p == 0) {
                list.add(26);
                if((n / 26) - 1 == 0){
                    break;
                }
                n = (n / 26) - 1;
            }else{
                list.add((int)p);
                if(n / 26 == 0){
                     break;
                }
                n /= 26;
            }
        } k++ k long p = n % 26; p n % 26 n 26 if(p == 0) {
                list.add(26);
                if((n / 26) - 1 == 0){
                    break;
                }
                n = (n / 26) - 1;
            }else{
                list.add((int)p);
                if(n / 26 == 0){
                     break;
                }
                n /= 26;
            } p == 0 p 0 {
                list.add(26);
                if((n / 26) - 1 == 0){
                    break;
                }
                n = (n / 26) - 1;
            } list.add(26) list.add list 26 if((n / 26) - 1 == 0){
                    break;
                } (n / 26) - 1 == 0 (n / 26) - 1 (n / 26) n 26 1 0 {
                    break;
                } break; n = (n / 26) - 1 n (n / 26) - 1 (n / 26) n 26 1 {
                list.add((int)p);
                if(n / 26 == 0){
                     break;
                }
                n /= 26;
            } list.add((int)p) list.add list (int)p if(n / 26 == 0){
                     break;
                } n / 26 == 0 n / 26 n 26 0 {
                     break;
                } break; n /= 26 n 26 StringBuilder sb = new StringBuilder(); sb new StringBuilder() for(int j = 0; j < k ; j++){
            sb.append(alphabet[list.get(j) - 1]);
        } int j = 0; int j = 0; j 0 j < k j k j++ j++ j {
            sb.append(alphabet[list.get(j) - 1]);
        } {
            sb.append(alphabet[list.get(j) - 1]);
        } sb.append(alphabet[list.get(j) - 1]) sb.append sb alphabet[list.get(j) - 1] alphabet list.get(j) - 1 list.get(j) list.get list j 1 System.out.println(sb.reverse()) System.out.println System.out System System.out sb.reverse() sb.reverse sb String args[] args public class Main {
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        char alphabet[] = new char[26];

        char c = 'a';

        for(int i = 0; i < 26; i++){
            alphabet[i] = c++;
        }

        long n = sc.nextLong();

        List<Integer> list = new ArrayList<>();

        int k = 0;
        while(true){
            k++;
            long p = n % 26;

            if(p == 0) {
                list.add(26);
                if((n / 26) - 1 == 0){
                    break;
                }
                n = (n / 26) - 1;
            }else{
                list.add((int)p);
                if(n / 26 == 0){
                     break;
                }
                n /= 26;
            }
        }

        StringBuilder sb = new StringBuilder();

        for(int j = 0; j < k ; j++){
            sb.append(alphabet[list.get(j) - 1]);
        }

        System.out.println(sb.reverse());

    }
} public class Main {
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        char alphabet[] = new char[26];

        char c = 'a';

        for(int i = 0; i < 26; i++){
            alphabet[i] = c++;
        }

        long n = sc.nextLong();

        List<Integer> list = new ArrayList<>();

        int k = 0;
        while(true){
            k++;
            long p = n % 26;

            if(p == 0) {
                list.add(26);
                if((n / 26) - 1 == 0){
                    break;
                }
                n = (n / 26) - 1;
            }else{
                list.add((int)p);
                if(n / 26 == 0){
                     break;
                }
                n /= 26;
            }
        }

        StringBuilder sb = new StringBuilder();

        for(int j = 0; j < k ; j++){
            sb.append(alphabet[list.get(j) - 1]);
        }

        System.out.println(sb.reverse());

    }
} Main
import java.util.*;

public class Main {
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        char alphabet[] = new char[26];

        char c = 'a';

        for(int i = 0; i < 26; i++){
            alphabet[i] = c++;
        }

        long n = sc.nextLong();

        List<Integer> list = new ArrayList<>();

        int k = 0;
        while(true){
            k++;
            long p = n % 26;

            if(p == 0) {
                list.add(26);
                if((n / 26) - 1 == 0){
                    break;
                }
                n = (n / 26) - 1;
            }else{
                list.add((int)p);
                if(n / 26 == 0){
                     break;
                }
                n /= 26;
            }
        }

        StringBuilder sb = new StringBuilder();

        for(int j = 0; j < k ; j++){
            sb.append(alphabet[list.get(j) - 1]);
        }

        System.out.println(sb.reverse());

    }
}
