#include <bits/stdc++.h>
using namespace std;
int n, m, odd;
vector<int> a;
int gcd(int a, int b) { return (b ? gcd(b, a % b) : a); }
void write_str(char c, int num) {
  while (num--) cout << c;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin >> n;
  a.resize(n);
  for (int i = 0; i < n; ++i) cin >> a[i];
  m = a[0];
  for (int i = 0; i < n; ++i) m = gcd(m, a[i]);
  if (n == 1) {
    cout << a[0] << endl;
    write_str('a', a[0]);
    return 0;
  }
  odd = 0;
  for (int i = 0; i < n; ++i) odd += int(a[i] % 2);
  if (odd > 1) {
    cout << 0 << endl;
    for (int i = 0; i < n; ++i) write_str(char('a' + i), a[i]);
    return 0;
  }
  for (int i = 0; i < n; ++i) a[i] /= m;
  if (odd == 1) {
    int j = 0;
    while (a[j] % 2 == 0) ++j;
    cout << m << endl;
    while (m--) {
      for (int i = 0; i < n; ++i)
        if (i != j) write_str(char('a' + i), a[i] / 2);
      write_str(char('a' + j), a[j]);
      for (int i = n - 1; i >= 0; --i)
        if (i != j) write_str(char('a' + i), a[i] / 2);
    }
    return 0;
  }
  cout << m << endl;
  while (m) {
    for (int i = 0; i < n; ++i) write_str(char('a' + i), a[i]);
    for (int i = n - 1; i >= 0; --i) write_str(char('a' + i), a[i]);
    m -= 2;
  }
  return 0;
}
