import java.math.BigInteger;
    import java.util.*;
    import java.util.stream.Collectors;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    BigInteger n = new BigInteger(sc.next());
    BigInteger c26 = new BigInteger("26");
    BigInteger tmp = BigInteger.ONE;
    BigInteger sum = BigInteger.ONE;
    int digit = 1;
    while (true) {
      tmp = tmp.multiply(c26);
      BigInteger t = sum.add(tmp);
      if (t.compareTo(n) <= 0) {
        digit++;
        sum = t;
      } else {
        break;
      }
    }

    BigInteger remain = n.subtract(sum);
    String s = remain.toString(26);

    Map<Character, String> map = new HashMap<>();
    for (char i = 'a'; i <= 'z'; i++) {
      map.put(BigInteger.valueOf(i - 'a').toString(26).charAt(0), Character.toString(i));
    }
    if (s.length() < digit) {
      String t = "";
      for (int i = 0, len = digit - s.length(); i < len; i++) {
        t += "0";
      }
      s = t + s;
    }
    String result = "";
    for (int i = 0; i < digit; i++) {
      result += map.get(s.charAt(i));
    }
    System.out.println(result);
  }
} import java.math.BigInteger; BigInteger java.math import java.util.*; util.* java import java.util.stream.Collectors; Collectors java.util.stream public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    BigInteger n = new BigInteger(sc.next());
    BigInteger c26 = new BigInteger("26");
    BigInteger tmp = BigInteger.ONE;
    BigInteger sum = BigInteger.ONE;
    int digit = 1;
    while (true) {
      tmp = tmp.multiply(c26);
      BigInteger t = sum.add(tmp);
      if (t.compareTo(n) <= 0) {
        digit++;
        sum = t;
      } else {
        break;
      }
    }

    BigInteger remain = n.subtract(sum);
    String s = remain.toString(26);

    Map<Character, String> map = new HashMap<>();
    for (char i = 'a'; i <= 'z'; i++) {
      map.put(BigInteger.valueOf(i - 'a').toString(26).charAt(0), Character.toString(i));
    }
    if (s.length() < digit) {
      String t = "";
      for (int i = 0, len = digit - s.length(); i < len; i++) {
        t += "0";
      }
      s = t + s;
    }
    String result = "";
    for (int i = 0; i < digit; i++) {
      result += map.get(s.charAt(i));
    }
    System.out.println(result);
  }
} Main public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    BigInteger n = new BigInteger(sc.next());
    BigInteger c26 = new BigInteger("26");
    BigInteger tmp = BigInteger.ONE;
    BigInteger sum = BigInteger.ONE;
    int digit = 1;
    while (true) {
      tmp = tmp.multiply(c26);
      BigInteger t = sum.add(tmp);
      if (t.compareTo(n) <= 0) {
        digit++;
        sum = t;
      } else {
        break;
      }
    }

    BigInteger remain = n.subtract(sum);
    String s = remain.toString(26);

    Map<Character, String> map = new HashMap<>();
    for (char i = 'a'; i <= 'z'; i++) {
      map.put(BigInteger.valueOf(i - 'a').toString(26).charAt(0), Character.toString(i));
    }
    if (s.length() < digit) {
      String t = "";
      for (int i = 0, len = digit - s.length(); i < len; i++) {
        t += "0";
      }
      s = t + s;
    }
    String result = "";
    for (int i = 0; i < digit; i++) {
      result += map.get(s.charAt(i));
    }
    System.out.println(result);
  } main {
    Scanner sc = new Scanner(System.in);
    BigInteger n = new BigInteger(sc.next());
    BigInteger c26 = new BigInteger("26");
    BigInteger tmp = BigInteger.ONE;
    BigInteger sum = BigInteger.ONE;
    int digit = 1;
    while (true) {
      tmp = tmp.multiply(c26);
      BigInteger t = sum.add(tmp);
      if (t.compareTo(n) <= 0) {
        digit++;
        sum = t;
      } else {
        break;
      }
    }

    BigInteger remain = n.subtract(sum);
    String s = remain.toString(26);

    Map<Character, String> map = new HashMap<>();
    for (char i = 'a'; i <= 'z'; i++) {
      map.put(BigInteger.valueOf(i - 'a').toString(26).charAt(0), Character.toString(i));
    }
    if (s.length() < digit) {
      String t = "";
      for (int i = 0, len = digit - s.length(); i < len; i++) {
        t += "0";
      }
      s = t + s;
    }
    String result = "";
    for (int i = 0; i < digit; i++) {
      result += map.get(s.charAt(i));
    }
    System.out.println(result);
  } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) BigInteger n = new BigInteger(sc.next()); n new BigInteger(sc.next()) BigInteger c26 = new BigInteger("26"); c26 new BigInteger("26") BigInteger tmp = BigInteger.ONE; tmp BigInteger.ONE BigInteger BigInteger.ONE BigInteger sum = BigInteger.ONE; sum BigInteger.ONE BigInteger BigInteger.ONE int digit = 1; digit 1 while (true) {
      tmp = tmp.multiply(c26);
      BigInteger t = sum.add(tmp);
      if (t.compareTo(n) <= 0) {
        digit++;
        sum = t;
      } else {
        break;
      }
    } true {
      tmp = tmp.multiply(c26);
      BigInteger t = sum.add(tmp);
      if (t.compareTo(n) <= 0) {
        digit++;
        sum = t;
      } else {
        break;
      }
    } tmp = tmp.multiply(c26) tmp tmp.multiply(c26) tmp.multiply tmp c26 BigInteger t = sum.add(tmp); t sum.add(tmp) sum.add sum tmp if (t.compareTo(n) <= 0) {
        digit++;
        sum = t;
      } else {
        break;
      } t.compareTo(n) <= 0 t.compareTo(n) t.compareTo t n 0 {
        digit++;
        sum = t;
      } digit++ digit sum = t sum t {
        break;
      } break; BigInteger remain = n.subtract(sum); remain n.subtract(sum) n.subtract n sum String s = remain.toString(26); s remain.toString(26) remain.toString remain 26 Map<Character, String> map = new HashMap<>(); map new HashMap<>() for (char i = 'a'; i <= 'z'; i++) {
      map.put(BigInteger.valueOf(i - 'a').toString(26).charAt(0), Character.toString(i));
    } char i = 'a'; char i = 'a'; i 'a' i <= 'z' i 'z' i++ i++ i {
      map.put(BigInteger.valueOf(i - 'a').toString(26).charAt(0), Character.toString(i));
    } {
      map.put(BigInteger.valueOf(i - 'a').toString(26).charAt(0), Character.toString(i));
    } map.put(BigInteger.valueOf(i - 'a').toString(26).charAt(0), Character.toString(i)) map.put map BigInteger.valueOf(i - 'a').toString(26).charAt(0) BigInteger.valueOf(i - 'a').toString(26).charAt BigInteger.valueOf(i - 'a').toString(26) BigInteger.valueOf(i - 'a').toString BigInteger.valueOf(i - 'a') BigInteger.valueOf BigInteger i - 'a' i 'a' 26 0 Character.toString(i) Character.toString Character i if (s.length() < digit) {
      String t = "";
      for (int i = 0, len = digit - s.length(); i < len; i++) {
        t += "0";
      }
      s = t + s;
    } s.length() < digit s.length() s.length s digit {
      String t = "";
      for (int i = 0, len = digit - s.length(); i < len; i++) {
        t += "0";
      }
      s = t + s;
    } String t = ""; t "" for (int i = 0, len = digit - s.length(); i < len; i++) {
        t += "0";
      } int i = 0, len = digit - s.length(); int i = 0 i 0 len = digit - s.length(); len digit - s.length() digit s.length() s.length s i < len i len i++ i++ i {
        t += "0";
      } {
        t += "0";
      } t += "0" t "0" s = t + s s t + s t s String result = ""; result "" for (int i = 0; i < digit; i++) {
      result += map.get(s.charAt(i));
    } int i = 0; int i = 0; i 0 i < digit i digit i++ i++ i {
      result += map.get(s.charAt(i));
    } {
      result += map.get(s.charAt(i));
    } result += map.get(s.charAt(i)) result map.get(s.charAt(i)) map.get map s.charAt(i) s.charAt s i System.out.println(result) System.out.println System.out System System.out result String[] args args public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    BigInteger n = new BigInteger(sc.next());
    BigInteger c26 = new BigInteger("26");
    BigInteger tmp = BigInteger.ONE;
    BigInteger sum = BigInteger.ONE;
    int digit = 1;
    while (true) {
      tmp = tmp.multiply(c26);
      BigInteger t = sum.add(tmp);
      if (t.compareTo(n) <= 0) {
        digit++;
        sum = t;
      } else {
        break;
      }
    }

    BigInteger remain = n.subtract(sum);
    String s = remain.toString(26);

    Map<Character, String> map = new HashMap<>();
    for (char i = 'a'; i <= 'z'; i++) {
      map.put(BigInteger.valueOf(i - 'a').toString(26).charAt(0), Character.toString(i));
    }
    if (s.length() < digit) {
      String t = "";
      for (int i = 0, len = digit - s.length(); i < len; i++) {
        t += "0";
      }
      s = t + s;
    }
    String result = "";
    for (int i = 0; i < digit; i++) {
      result += map.get(s.charAt(i));
    }
    System.out.println(result);
  }
} public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    BigInteger n = new BigInteger(sc.next());
    BigInteger c26 = new BigInteger("26");
    BigInteger tmp = BigInteger.ONE;
    BigInteger sum = BigInteger.ONE;
    int digit = 1;
    while (true) {
      tmp = tmp.multiply(c26);
      BigInteger t = sum.add(tmp);
      if (t.compareTo(n) <= 0) {
        digit++;
        sum = t;
      } else {
        break;
      }
    }

    BigInteger remain = n.subtract(sum);
    String s = remain.toString(26);

    Map<Character, String> map = new HashMap<>();
    for (char i = 'a'; i <= 'z'; i++) {
      map.put(BigInteger.valueOf(i - 'a').toString(26).charAt(0), Character.toString(i));
    }
    if (s.length() < digit) {
      String t = "";
      for (int i = 0, len = digit - s.length(); i < len; i++) {
        t += "0";
      }
      s = t + s;
    }
    String result = "";
    for (int i = 0; i < digit; i++) {
      result += map.get(s.charAt(i));
    }
    System.out.println(result);
  }
} Main
import java.math.BigInteger;
    import java.util.*;
    import java.util.stream.Collectors;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    BigInteger n = new BigInteger(sc.next());
    BigInteger c26 = new BigInteger("26");
    BigInteger tmp = BigInteger.ONE;
    BigInteger sum = BigInteger.ONE;
    int digit = 1;
    while (true) {
      tmp = tmp.multiply(c26);
      BigInteger t = sum.add(tmp);
      if (t.compareTo(n) <= 0) {
        digit++;
        sum = t;
      } else {
        break;
      }
    }

    BigInteger remain = n.subtract(sum);
    String s = remain.toString(26);

    Map<Character, String> map = new HashMap<>();
    for (char i = 'a'; i <= 'z'; i++) {
      map.put(BigInteger.valueOf(i - 'a').toString(26).charAt(0), Character.toString(i));
    }
    if (s.length() < digit) {
      String t = "";
      for (int i = 0, len = digit - s.length(); i < len; i++) {
        t += "0";
      }
      s = t + s;
    }
    String result = "";
    for (int i = 0; i < digit; i++) {
      result += map.get(s.charAt(i));
    }
    System.out.println(result);
  }
}
