// Задача "Палиндромность-4"
// 4-я личная Интернет-олимпиада сезона 2008-2009
// Автор задачи: Максим Буздалов, buzdalov@rain.ifmo.ru
// Автор решения: Владимир Ульянцев, ulyantsev@rain.ifmo.ru

import java.io.*;
import java.math.*;
import java.util.*;

public class paly4_vu implements Runnable {

	public static void main(String[] args) {
		new Thread(new paly4_vu()).start();
	}

	BufferedReader br;

	StringTokenizer st;

	PrintWriter out;

	String FNAME = "paly4_vu".substring(0, "paly4_vu".indexOf('_'));

	public void run() {
		Locale.setDefault(Locale.US);
		try {
			br = new BufferedReader(new FileReader(FNAME + ".in"));
			out = new PrintWriter(FNAME + ".out");
			solve();
			out.close();
		} catch (Throwable e) {
			e.printStackTrace();
			System.exit(239);
		}
	}

	String nextToken() {
		while (st == null || !st.hasMoreTokens()) {
			try {
				st = new StringTokenizer(br.readLine());
			} catch (Exception e) {
				return "0";
			}
		}
		return st.nextToken();
	}

	int nextInt() {
		return Integer.parseInt(nextToken());
	}

	double nextDouble() {
		return Double.parseDouble(nextToken());
	}

	long nextLong() {
		return Long.parseLong(nextToken());
	}

	BigInteger nextBigInteger() {
		return new BigInteger(nextToken());
	}

	void MyAssert(boolean u, String message) {
		if (!u) {
			throw new Error("Assertion failed!!! " + message);
		}
	}

	void inBounds(long x, long l, long r, String name) {
		MyAssert(l <= x && x <= r, name + " is not in bounds!!! " + x
				+ " is not in [" + l + ", " + r + "]");
	}

	void Assertions() {
		int sum = 0;
		for (int x : cnt) {
			sum += x;
			inBounds(x, 0, 1000000, "element");
		}
		inBounds(sum, 1, 1000000, "sum");
	}
	
	int[] cnt;
	
	String calc(int[] cnt) {
		int sum = 0;
		int odd = 0;
		for (int x : cnt) {
			sum += x;
			odd += x % 2 == 0 ? 0 : 1;
		}
		String ans = "";
		if (sum == 0 || odd > 1) {
			StringBuilder sb = new StringBuilder(ans);
			for (int i = 0; i < 26; i++) {
				for (int j = 0; j < cnt[i]; j++) {
					sb.append((char)('a' + i));
				}
			}
			ans = sb.toString();
		} else {
			int[] new_cnt = new int[26];
			String medium = "";
			for (int i = 0; i < 26; i++) {
				if (cnt[i] % 2 == 1) {
					medium += (char) ('a' + i);
				}
				new_cnt[i] = cnt[i] / 2;
			}
			String begin = calc(new_cnt);
			ans = begin + medium + new StringBuilder(begin).reverse().toString();
		}
		return ans;
	}
	
	private void solve() throws IOException {
		cnt = new int[26];
		for (int i = 'a'; i <= 'z'; i++) {
			cnt[i - 'a'] = nextInt();
		}
		Assertions();
		out.println(calc(cnt));
	}
}
