import java.util.*;


public class Main{
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        long n = scan.nextLong();
        StringBuilder out = new StringBuilder();
        while(n > 26){
            if(n % 26 != 0){
                out.append(name(n % 26));
                n /= 26;
            }else{
                out.append(name(26));
                n = n / 26 - 1;
            }
        }
        out.append(name(n));
        for(int i = out.length() - 1; i >= 0 ; i--) System.out.print(out.charAt(i));
        scan.close();
    }
    
    public static String name(long n){
        
            byte[] b = {(byte) (n + 96)};
            if(n % 26 == 0) b[0] = 122;
            return new String(b);
       
            
    }
} import java.util.*; util.* java public class Main{
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        long n = scan.nextLong();
        StringBuilder out = new StringBuilder();
        while(n > 26){
            if(n % 26 != 0){
                out.append(name(n % 26));
                n /= 26;
            }else{
                out.append(name(26));
                n = n / 26 - 1;
            }
        }
        out.append(name(n));
        for(int i = out.length() - 1; i >= 0 ; i--) System.out.print(out.charAt(i));
        scan.close();
    }
    
    public static String name(long n){
        
            byte[] b = {(byte) (n + 96)};
            if(n % 26 == 0) b[0] = 122;
            return new String(b);
       
            
    }
} Main public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        long n = scan.nextLong();
        StringBuilder out = new StringBuilder();
        while(n > 26){
            if(n % 26 != 0){
                out.append(name(n % 26));
                n /= 26;
            }else{
                out.append(name(26));
                n = n / 26 - 1;
            }
        }
        out.append(name(n));
        for(int i = out.length() - 1; i >= 0 ; i--) System.out.print(out.charAt(i));
        scan.close();
    } main {
        Scanner scan = new Scanner(System.in);
        long n = scan.nextLong();
        StringBuilder out = new StringBuilder();
        while(n > 26){
            if(n % 26 != 0){
                out.append(name(n % 26));
                n /= 26;
            }else{
                out.append(name(26));
                n = n / 26 - 1;
            }
        }
        out.append(name(n));
        for(int i = out.length() - 1; i >= 0 ; i--) System.out.print(out.charAt(i));
        scan.close();
    } Scanner scan = new Scanner(System.in); scan new Scanner(System.in) long n = scan.nextLong(); n scan.nextLong() scan.nextLong scan StringBuilder out = new StringBuilder(); out new StringBuilder() while(n > 26){
            if(n % 26 != 0){
                out.append(name(n % 26));
                n /= 26;
            }else{
                out.append(name(26));
                n = n / 26 - 1;
            }
        } n > 26 n 26 {
            if(n % 26 != 0){
                out.append(name(n % 26));
                n /= 26;
            }else{
                out.append(name(26));
                n = n / 26 - 1;
            }
        } if(n % 26 != 0){
                out.append(name(n % 26));
                n /= 26;
            }else{
                out.append(name(26));
                n = n / 26 - 1;
            } n % 26 != 0 n % 26 n 26 0 {
                out.append(name(n % 26));
                n /= 26;
            } out.append(name(n % 26)) out.append out name(n % 26) name n % 26 n 26 n /= 26 n 26 {
                out.append(name(26));
                n = n / 26 - 1;
            } out.append(name(26)) out.append out name(26) name 26 n = n / 26 - 1 n n / 26 - 1 n / 26 n 26 1 out.append(name(n)) out.append out name(n) name n for(int i = out.length() - 1; i >= 0 ; i--) System.out.print(out.charAt(i)); int i = out.length() - 1; int i = out.length() - 1; i out.length() - 1 out.length() out.length out 1 i >= 0 i 0 i-- i-- i System.out.print(out.charAt(i)); System.out.print(out.charAt(i)) System.out.print System.out System System.out out.charAt(i) out.charAt out i scan.close() scan.close scan String[] args args public static String name(long n){
        
            byte[] b = {(byte) (n + 96)};
            if(n % 26 == 0) b[0] = 122;
            return new String(b);
       
            
    } name {
        
            byte[] b = {(byte) (n + 96)};
            if(n % 26 == 0) b[0] = 122;
            return new String(b);
       
            
    } byte[] b = {(byte) (n + 96)}; b {(byte) (n + 96)} (byte) (n + 96) n 96 if(n % 26 == 0) b[0] = 122; n % 26 == 0 n % 26 n 26 0 b[0] = 122 b[0] b 0 122 return new String(b); new String(b) long n n public class Main{
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        long n = scan.nextLong();
        StringBuilder out = new StringBuilder();
        while(n > 26){
            if(n % 26 != 0){
                out.append(name(n % 26));
                n /= 26;
            }else{
                out.append(name(26));
                n = n / 26 - 1;
            }
        }
        out.append(name(n));
        for(int i = out.length() - 1; i >= 0 ; i--) System.out.print(out.charAt(i));
        scan.close();
    }
    
    public static String name(long n){
        
            byte[] b = {(byte) (n + 96)};
            if(n % 26 == 0) b[0] = 122;
            return new String(b);
       
            
    }
} public class Main{
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        long n = scan.nextLong();
        StringBuilder out = new StringBuilder();
        while(n > 26){
            if(n % 26 != 0){
                out.append(name(n % 26));
                n /= 26;
            }else{
                out.append(name(26));
                n = n / 26 - 1;
            }
        }
        out.append(name(n));
        for(int i = out.length() - 1; i >= 0 ; i--) System.out.print(out.charAt(i));
        scan.close();
    }
    
    public static String name(long n){
        
            byte[] b = {(byte) (n + 96)};
            if(n % 26 == 0) b[0] = 122;
            return new String(b);
       
            
    }
} Main
import java.util.*;


public class Main{
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        long n = scan.nextLong();
        StringBuilder out = new StringBuilder();
        while(n > 26){
            if(n % 26 != 0){
                out.append(name(n % 26));
                n /= 26;
            }else{
                out.append(name(26));
                n = n / 26 - 1;
            }
        }
        out.append(name(n));
        for(int i = out.length() - 1; i >= 0 ; i--) System.out.print(out.charAt(i));
        scan.close();
    }
    
    public static String name(long n){
        
            byte[] b = {(byte) (n + 96)};
            if(n % 26 == 0) b[0] = 122;
            return new String(b);
       
            
    }
}