import java.util.Scanner;

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

		// 入力値の取得
		long N = sc.nextLong();
		
		StringBuilder sb = new StringBuilder();
		while (N > 0) {
			N = N - 1;
			long r = N % 26;
			sb.append((char)('a' + r));
			N = N / 26;
		}
		// 結果の出力
		System.out.println(sb.reverse().toString());
		
		sc.close();
	}
} import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		// 入力値の取得
		long N = sc.nextLong();
		
		StringBuilder sb = new StringBuilder();
		while (N > 0) {
			N = N - 1;
			long r = N % 26;
			sb.append((char)('a' + r));
			N = N / 26;
		}
		// 結果の出力
		System.out.println(sb.reverse().toString());
		
		sc.close();
	}
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		// 入力値の取得
		long N = sc.nextLong();
		
		StringBuilder sb = new StringBuilder();
		while (N > 0) {
			N = N - 1;
			long r = N % 26;
			sb.append((char)('a' + r));
			N = N / 26;
		}
		// 結果の出力
		System.out.println(sb.reverse().toString());
		
		sc.close();
	} main {
		Scanner sc = new Scanner(System.in);

		// 入力値の取得
		long N = sc.nextLong();
		
		StringBuilder sb = new StringBuilder();
		while (N > 0) {
			N = N - 1;
			long r = N % 26;
			sb.append((char)('a' + r));
			N = N / 26;
		}
		// 結果の出力
		System.out.println(sb.reverse().toString());
		
		sc.close();
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) long N = sc.nextLong(); N sc.nextLong() sc.nextLong sc StringBuilder sb = new StringBuilder(); sb new StringBuilder() while (N > 0) {
			N = N - 1;
			long r = N % 26;
			sb.append((char)('a' + r));
			N = N / 26;
		} N > 0 N 0 {
			N = N - 1;
			long r = N % 26;
			sb.append((char)('a' + r));
			N = N / 26;
		} N = N - 1 N N - 1 N 1 long r = N % 26; r N % 26 N 26 sb.append((char)('a' + r)) sb.append sb (char)('a' + r) 'a' r N = N / 26 N N / 26 N 26 System.out.println(sb.reverse().toString()) System.out.println System.out System System.out sb.reverse().toString() sb.reverse().toString sb.reverse() sb.reverse sb sc.close() sc.close sc String[] args args public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		// 入力値の取得
		long N = sc.nextLong();
		
		StringBuilder sb = new StringBuilder();
		while (N > 0) {
			N = N - 1;
			long r = N % 26;
			sb.append((char)('a' + r));
			N = N / 26;
		}
		// 結果の出力
		System.out.println(sb.reverse().toString());
		
		sc.close();
	}
} public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		// 入力値の取得
		long N = sc.nextLong();
		
		StringBuilder sb = new StringBuilder();
		while (N > 0) {
			N = N - 1;
			long r = N % 26;
			sb.append((char)('a' + r));
			N = N / 26;
		}
		// 結果の出力
		System.out.println(sb.reverse().toString());
		
		sc.close();
	}
} Main
import java.util.Scanner;

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

		// 入力値の取得
		long N = sc.nextLong();
		
		StringBuilder sb = new StringBuilder();
		while (N > 0) {
			N = N - 1;
			long r = N % 26;
			sb.append((char)('a' + r));
			N = N / 26;
		}
		// 結果の出力
		System.out.println(sb.reverse().toString());
		
		sc.close();
	}
}
