import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
	    Scanner scanner = new Scanner(System.in);
	    String alphabet = "abcdefghijklmnopqrstuvwxyz";

	    long N = Long.parseLong(scanner.next());
        StringBuilder sb = new StringBuilder();
	    int z = 1;
	    while(true) {
	    	double sum = Main.getValue(z);
	        if (N <= sum) {
	            for (int i = 0; i < z; i++) {
	                int index = (int)(N % 26);
	                if (index > 0) {
	                    sb.insert(0, alphabet.charAt(index - 1));
	                    N -= index - 1;
	                } else {
	                	sb.insert(0, alphabet.charAt(25));
	                	N -= 25;
	                }

	                N = N / 26;
	            }
	            break;
	        }
	        z++;
	    }

	    System.out.println(sb.toString());
	}

	public static double getValue(int z) {
	   double sum = 0;
		for (int i = 0; i < z; i++) {
		    sum += Math.pow(26, i+1);
		}
		return sum;
	}

} import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
	    Scanner scanner = new Scanner(System.in);
	    String alphabet = "abcdefghijklmnopqrstuvwxyz";

	    long N = Long.parseLong(scanner.next());
        StringBuilder sb = new StringBuilder();
	    int z = 1;
	    while(true) {
	    	double sum = Main.getValue(z);
	        if (N <= sum) {
	            for (int i = 0; i < z; i++) {
	                int index = (int)(N % 26);
	                if (index > 0) {
	                    sb.insert(0, alphabet.charAt(index - 1));
	                    N -= index - 1;
	                } else {
	                	sb.insert(0, alphabet.charAt(25));
	                	N -= 25;
	                }

	                N = N / 26;
	            }
	            break;
	        }
	        z++;
	    }

	    System.out.println(sb.toString());
	}

	public static double getValue(int z) {
	   double sum = 0;
		for (int i = 0; i < z; i++) {
		    sum += Math.pow(26, i+1);
		}
		return sum;
	}

} Main public static void main(String[] args) {
	    Scanner scanner = new Scanner(System.in);
	    String alphabet = "abcdefghijklmnopqrstuvwxyz";

	    long N = Long.parseLong(scanner.next());
        StringBuilder sb = new StringBuilder();
	    int z = 1;
	    while(true) {
	    	double sum = Main.getValue(z);
	        if (N <= sum) {
	            for (int i = 0; i < z; i++) {
	                int index = (int)(N % 26);
	                if (index > 0) {
	                    sb.insert(0, alphabet.charAt(index - 1));
	                    N -= index - 1;
	                } else {
	                	sb.insert(0, alphabet.charAt(25));
	                	N -= 25;
	                }

	                N = N / 26;
	            }
	            break;
	        }
	        z++;
	    }

	    System.out.println(sb.toString());
	} main {
	    Scanner scanner = new Scanner(System.in);
	    String alphabet = "abcdefghijklmnopqrstuvwxyz";

	    long N = Long.parseLong(scanner.next());
        StringBuilder sb = new StringBuilder();
	    int z = 1;
	    while(true) {
	    	double sum = Main.getValue(z);
	        if (N <= sum) {
	            for (int i = 0; i < z; i++) {
	                int index = (int)(N % 26);
	                if (index > 0) {
	                    sb.insert(0, alphabet.charAt(index - 1));
	                    N -= index - 1;
	                } else {
	                	sb.insert(0, alphabet.charAt(25));
	                	N -= 25;
	                }

	                N = N / 26;
	            }
	            break;
	        }
	        z++;
	    }

	    System.out.println(sb.toString());
	} Scanner scanner = new Scanner(System.in); scanner new Scanner(System.in) String alphabet = "abcdefghijklmnopqrstuvwxyz"; alphabet "abcdefghijklmnopqrstuvwxyz" long N = Long.parseLong(scanner.next()); N Long.parseLong(scanner.next()) Long.parseLong Long scanner.next() scanner.next scanner StringBuilder sb = new StringBuilder(); sb new StringBuilder() int z = 1; z 1 while(true) {
	    	double sum = Main.getValue(z);
	        if (N <= sum) {
	            for (int i = 0; i < z; i++) {
	                int index = (int)(N % 26);
	                if (index > 0) {
	                    sb.insert(0, alphabet.charAt(index - 1));
	                    N -= index - 1;
	                } else {
	                	sb.insert(0, alphabet.charAt(25));
	                	N -= 25;
	                }

	                N = N / 26;
	            }
	            break;
	        }
	        z++;
	    } true {
	    	double sum = Main.getValue(z);
	        if (N <= sum) {
	            for (int i = 0; i < z; i++) {
	                int index = (int)(N % 26);
	                if (index > 0) {
	                    sb.insert(0, alphabet.charAt(index - 1));
	                    N -= index - 1;
	                } else {
	                	sb.insert(0, alphabet.charAt(25));
	                	N -= 25;
	                }

	                N = N / 26;
	            }
	            break;
	        }
	        z++;
	    } double sum = Main.getValue(z); sum Main.getValue(z) Main.getValue Main z if (N <= sum) {
	            for (int i = 0; i < z; i++) {
	                int index = (int)(N % 26);
	                if (index > 0) {
	                    sb.insert(0, alphabet.charAt(index - 1));
	                    N -= index - 1;
	                } else {
	                	sb.insert(0, alphabet.charAt(25));
	                	N -= 25;
	                }

	                N = N / 26;
	            }
	            break;
	        } N <= sum N sum {
	            for (int i = 0; i < z; i++) {
	                int index = (int)(N % 26);
	                if (index > 0) {
	                    sb.insert(0, alphabet.charAt(index - 1));
	                    N -= index - 1;
	                } else {
	                	sb.insert(0, alphabet.charAt(25));
	                	N -= 25;
	                }

	                N = N / 26;
	            }
	            break;
	        } for (int i = 0; i < z; i++) {
	                int index = (int)(N % 26);
	                if (index > 0) {
	                    sb.insert(0, alphabet.charAt(index - 1));
	                    N -= index - 1;
	                } else {
	                	sb.insert(0, alphabet.charAt(25));
	                	N -= 25;
	                }

	                N = N / 26;
	            } int i = 0; int i = 0; i 0 i < z i z i++ i++ i {
	                int index = (int)(N % 26);
	                if (index > 0) {
	                    sb.insert(0, alphabet.charAt(index - 1));
	                    N -= index - 1;
	                } else {
	                	sb.insert(0, alphabet.charAt(25));
	                	N -= 25;
	                }

	                N = N / 26;
	            } {
	                int index = (int)(N % 26);
	                if (index > 0) {
	                    sb.insert(0, alphabet.charAt(index - 1));
	                    N -= index - 1;
	                } else {
	                	sb.insert(0, alphabet.charAt(25));
	                	N -= 25;
	                }

	                N = N / 26;
	            } int index = (int)(N % 26); index (int)(N % 26) N 26 if (index > 0) {
	                    sb.insert(0, alphabet.charAt(index - 1));
	                    N -= index - 1;
	                } else {
	                	sb.insert(0, alphabet.charAt(25));
	                	N -= 25;
	                } index > 0 index 0 {
	                    sb.insert(0, alphabet.charAt(index - 1));
	                    N -= index - 1;
	                } sb.insert(0, alphabet.charAt(index - 1)) sb.insert sb 0 alphabet.charAt(index - 1) alphabet.charAt alphabet index - 1 index 1 N -= index - 1 N index - 1 index 1 {
	                	sb.insert(0, alphabet.charAt(25));
	                	N -= 25;
	                } sb.insert(0, alphabet.charAt(25)) sb.insert sb 0 alphabet.charAt(25) alphabet.charAt alphabet 25 N -= 25 N 25 N = N / 26 N N / 26 N 26 break; z++ z System.out.println(sb.toString()) System.out.println System.out System System.out sb.toString() sb.toString sb String[] args args public static double getValue(int z) {
	   double sum = 0;
		for (int i = 0; i < z; i++) {
		    sum += Math.pow(26, i+1);
		}
		return sum;
	} getValue {
	   double sum = 0;
		for (int i = 0; i < z; i++) {
		    sum += Math.pow(26, i+1);
		}
		return sum;
	} double sum = 0; sum 0 for (int i = 0; i < z; i++) {
		    sum += Math.pow(26, i+1);
		} int i = 0; int i = 0; i 0 i < z i z i++ i++ i {
		    sum += Math.pow(26, i+1);
		} {
		    sum += Math.pow(26, i+1);
		} sum += Math.pow(26, i+1) sum Math.pow(26, i+1) Math.pow Math 26 i+1 i 1 return sum; sum int z z public class Main {

	public static void main(String[] args) {
	    Scanner scanner = new Scanner(System.in);
	    String alphabet = "abcdefghijklmnopqrstuvwxyz";

	    long N = Long.parseLong(scanner.next());
        StringBuilder sb = new StringBuilder();
	    int z = 1;
	    while(true) {
	    	double sum = Main.getValue(z);
	        if (N <= sum) {
	            for (int i = 0; i < z; i++) {
	                int index = (int)(N % 26);
	                if (index > 0) {
	                    sb.insert(0, alphabet.charAt(index - 1));
	                    N -= index - 1;
	                } else {
	                	sb.insert(0, alphabet.charAt(25));
	                	N -= 25;
	                }

	                N = N / 26;
	            }
	            break;
	        }
	        z++;
	    }

	    System.out.println(sb.toString());
	}

	public static double getValue(int z) {
	   double sum = 0;
		for (int i = 0; i < z; i++) {
		    sum += Math.pow(26, i+1);
		}
		return sum;
	}

} public class Main {

	public static void main(String[] args) {
	    Scanner scanner = new Scanner(System.in);
	    String alphabet = "abcdefghijklmnopqrstuvwxyz";

	    long N = Long.parseLong(scanner.next());
        StringBuilder sb = new StringBuilder();
	    int z = 1;
	    while(true) {
	    	double sum = Main.getValue(z);
	        if (N <= sum) {
	            for (int i = 0; i < z; i++) {
	                int index = (int)(N % 26);
	                if (index > 0) {
	                    sb.insert(0, alphabet.charAt(index - 1));
	                    N -= index - 1;
	                } else {
	                	sb.insert(0, alphabet.charAt(25));
	                	N -= 25;
	                }

	                N = N / 26;
	            }
	            break;
	        }
	        z++;
	    }

	    System.out.println(sb.toString());
	}

	public static double getValue(int z) {
	   double sum = 0;
		for (int i = 0; i < z; i++) {
		    sum += Math.pow(26, i+1);
		}
		return sum;
	}

} Main
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
	    Scanner scanner = new Scanner(System.in);
	    String alphabet = "abcdefghijklmnopqrstuvwxyz";

	    long N = Long.parseLong(scanner.next());
        StringBuilder sb = new StringBuilder();
	    int z = 1;
	    while(true) {
	    	double sum = Main.getValue(z);
	        if (N <= sum) {
	            for (int i = 0; i < z; i++) {
	                int index = (int)(N % 26);
	                if (index > 0) {
	                    sb.insert(0, alphabet.charAt(index - 1));
	                    N -= index - 1;
	                } else {
	                	sb.insert(0, alphabet.charAt(25));
	                	N -= 25;
	                }

	                N = N / 26;
	            }
	            break;
	        }
	        z++;
	    }

	    System.out.println(sb.toString());
	}

	public static double getValue(int z) {
	   double sum = 0;
		for (int i = 0; i < z; i++) {
		    sum += Math.pow(26, i+1);
		}
		return sum;
	}

}