import java.util.*;

public class Main {
  /**
   * Iterate through each line of input.
   */
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    long n = sc.nextLong();
    int count = 1;
    int div = 0;
    char[] alphabet = "abcdefghijklmnopqrstuvwxyz".toCharArray(); 
    String ans = "";
    String dst = "";
    
    while(true) {
    	div = (int) (n % 26);
    	if(div == 0) {
    		div = 26;
    		n--;
    	}
    	ans = ans + alphabet[div-1];
    	
    	if(n / 26 == 0) {
    		StringBuffer sb = new StringBuffer(ans);
    		dst = sb.reverse().toString();
    		break;
    	}
    	
    	n = (long) (n / 26);
    	if(n == 0) {
    		StringBuffer sb = new StringBuffer(ans);
    		dst = sb.reverse().toString();
    		break;
    	}
    }
    System.out.println(dst);
  }
} import java.util.*; util.* java public class Main {
  /**
   * Iterate through each line of input.
   */
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    long n = sc.nextLong();
    int count = 1;
    int div = 0;
    char[] alphabet = "abcdefghijklmnopqrstuvwxyz".toCharArray(); 
    String ans = "";
    String dst = "";
    
    while(true) {
    	div = (int) (n % 26);
    	if(div == 0) {
    		div = 26;
    		n--;
    	}
    	ans = ans + alphabet[div-1];
    	
    	if(n / 26 == 0) {
    		StringBuffer sb = new StringBuffer(ans);
    		dst = sb.reverse().toString();
    		break;
    	}
    	
    	n = (long) (n / 26);
    	if(n == 0) {
    		StringBuffer sb = new StringBuffer(ans);
    		dst = sb.reverse().toString();
    		break;
    	}
    }
    System.out.println(dst);
  }
} Main /**
   * Iterate through each line of input.
   */
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    long n = sc.nextLong();
    int count = 1;
    int div = 0;
    char[] alphabet = "abcdefghijklmnopqrstuvwxyz".toCharArray(); 
    String ans = "";
    String dst = "";
    
    while(true) {
    	div = (int) (n % 26);
    	if(div == 0) {
    		div = 26;
    		n--;
    	}
    	ans = ans + alphabet[div-1];
    	
    	if(n / 26 == 0) {
    		StringBuffer sb = new StringBuffer(ans);
    		dst = sb.reverse().toString();
    		break;
    	}
    	
    	n = (long) (n / 26);
    	if(n == 0) {
    		StringBuffer sb = new StringBuffer(ans);
    		dst = sb.reverse().toString();
    		break;
    	}
    }
    System.out.println(dst);
  } main {
    Scanner sc = new Scanner(System.in);
    long n = sc.nextLong();
    int count = 1;
    int div = 0;
    char[] alphabet = "abcdefghijklmnopqrstuvwxyz".toCharArray(); 
    String ans = "";
    String dst = "";
    
    while(true) {
    	div = (int) (n % 26);
    	if(div == 0) {
    		div = 26;
    		n--;
    	}
    	ans = ans + alphabet[div-1];
    	
    	if(n / 26 == 0) {
    		StringBuffer sb = new StringBuffer(ans);
    		dst = sb.reverse().toString();
    		break;
    	}
    	
    	n = (long) (n / 26);
    	if(n == 0) {
    		StringBuffer sb = new StringBuffer(ans);
    		dst = sb.reverse().toString();
    		break;
    	}
    }
    System.out.println(dst);
  } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) long n = sc.nextLong(); n sc.nextLong() sc.nextLong sc int count = 1; count 1 int div = 0; div 0 char[] alphabet = "abcdefghijklmnopqrstuvwxyz".toCharArray(); alphabet "abcdefghijklmnopqrstuvwxyz".toCharArray() "abcdefghijklmnopqrstuvwxyz".toCharArray "abcdefghijklmnopqrstuvwxyz" String ans = ""; ans "" String dst = ""; dst "" while(true) {
    	div = (int) (n % 26);
    	if(div == 0) {
    		div = 26;
    		n--;
    	}
    	ans = ans + alphabet[div-1];
    	
    	if(n / 26 == 0) {
    		StringBuffer sb = new StringBuffer(ans);
    		dst = sb.reverse().toString();
    		break;
    	}
    	
    	n = (long) (n / 26);
    	if(n == 0) {
    		StringBuffer sb = new StringBuffer(ans);
    		dst = sb.reverse().toString();
    		break;
    	}
    } true {
    	div = (int) (n % 26);
    	if(div == 0) {
    		div = 26;
    		n--;
    	}
    	ans = ans + alphabet[div-1];
    	
    	if(n / 26 == 0) {
    		StringBuffer sb = new StringBuffer(ans);
    		dst = sb.reverse().toString();
    		break;
    	}
    	
    	n = (long) (n / 26);
    	if(n == 0) {
    		StringBuffer sb = new StringBuffer(ans);
    		dst = sb.reverse().toString();
    		break;
    	}
    } div = (int) (n % 26) div (int) (n % 26) n 26 if(div == 0) {
    		div = 26;
    		n--;
    	} div == 0 div 0 {
    		div = 26;
    		n--;
    	} div = 26 div 26 n-- n ans = ans + alphabet[div-1] ans ans + alphabet[div-1] ans alphabet[div-1] alphabet div-1 div 1 if(n / 26 == 0) {
    		StringBuffer sb = new StringBuffer(ans);
    		dst = sb.reverse().toString();
    		break;
    	} n / 26 == 0 n / 26 n 26 0 {
    		StringBuffer sb = new StringBuffer(ans);
    		dst = sb.reverse().toString();
    		break;
    	} StringBuffer sb = new StringBuffer(ans); sb new StringBuffer(ans) dst = sb.reverse().toString() dst sb.reverse().toString() sb.reverse().toString sb.reverse() sb.reverse sb break; n = (long) (n / 26) n (long) (n / 26) n 26 if(n == 0) {
    		StringBuffer sb = new StringBuffer(ans);
    		dst = sb.reverse().toString();
    		break;
    	} n == 0 n 0 {
    		StringBuffer sb = new StringBuffer(ans);
    		dst = sb.reverse().toString();
    		break;
    	} StringBuffer sb = new StringBuffer(ans); sb new StringBuffer(ans) dst = sb.reverse().toString() dst sb.reverse().toString() sb.reverse().toString sb.reverse() sb.reverse sb break; System.out.println(dst) System.out.println System.out System System.out dst String[] args args public class Main {
  /**
   * Iterate through each line of input.
   */
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    long n = sc.nextLong();
    int count = 1;
    int div = 0;
    char[] alphabet = "abcdefghijklmnopqrstuvwxyz".toCharArray(); 
    String ans = "";
    String dst = "";
    
    while(true) {
    	div = (int) (n % 26);
    	if(div == 0) {
    		div = 26;
    		n--;
    	}
    	ans = ans + alphabet[div-1];
    	
    	if(n / 26 == 0) {
    		StringBuffer sb = new StringBuffer(ans);
    		dst = sb.reverse().toString();
    		break;
    	}
    	
    	n = (long) (n / 26);
    	if(n == 0) {
    		StringBuffer sb = new StringBuffer(ans);
    		dst = sb.reverse().toString();
    		break;
    	}
    }
    System.out.println(dst);
  }
} public class Main {
  /**
   * Iterate through each line of input.
   */
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    long n = sc.nextLong();
    int count = 1;
    int div = 0;
    char[] alphabet = "abcdefghijklmnopqrstuvwxyz".toCharArray(); 
    String ans = "";
    String dst = "";
    
    while(true) {
    	div = (int) (n % 26);
    	if(div == 0) {
    		div = 26;
    		n--;
    	}
    	ans = ans + alphabet[div-1];
    	
    	if(n / 26 == 0) {
    		StringBuffer sb = new StringBuffer(ans);
    		dst = sb.reverse().toString();
    		break;
    	}
    	
    	n = (long) (n / 26);
    	if(n == 0) {
    		StringBuffer sb = new StringBuffer(ans);
    		dst = sb.reverse().toString();
    		break;
    	}
    }
    System.out.println(dst);
  }
} Main
import java.util.*;

public class Main {
  /**
   * Iterate through each line of input.
   */
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    long n = sc.nextLong();
    int count = 1;
    int div = 0;
    char[] alphabet = "abcdefghijklmnopqrstuvwxyz".toCharArray(); 
    String ans = "";
    String dst = "";
    
    while(true) {
    	div = (int) (n % 26);
    	if(div == 0) {
    		div = 26;
    		n--;
    	}
    	ans = ans + alphabet[div-1];
    	
    	if(n / 26 == 0) {
    		StringBuffer sb = new StringBuffer(ans);
    		dst = sb.reverse().toString();
    		break;
    	}
    	
    	n = (long) (n / 26);
    	if(n == 0) {
    		StringBuffer sb = new StringBuffer(ans);
    		dst = sb.reverse().toString();
    		break;
    	}
    }
    System.out.println(dst);
  }
}