#include <bits/stdc++.h>
using namespace std;
const long long mod = 1000000007;
const int N = 27;
int a[N];
int n;
int gcd(int x, int y) {
  if (!x || !y) return x + y;
  return gcd(y, x % y);
}
int main() {
  cin >> n;
  for (int i = 0; i < (n); i++) cin >> a[i];
  int k = 0;
  for (int i = 0; i < (n); i++) k = gcd(k, a[i]);
  int ans = 0;
  for (int g = (1); g <= (k); g++)
    if (k % g == 0) {
      if (g % 2) {
        int cnt = 0;
        for (int i = 0; i < (n); i++)
          if ((a[i] / g) % 2) ++cnt;
        if (cnt < 2) ans = g;
      } else
        ans = g;
    }
  cout << ans << endl;
  if (!ans) {
    string ret;
    for (int i = 0; i < (n); i++)
      for (int j = 0; j < (a[i]); j++) ret += 'a' + i;
    cout << ret;
  } else {
    if (ans % 2) {
      int b[n];
      int o = -1;
      for (int i = 0; i < (n); i++) {
        b[i] = a[i] / ans;
        if (b[i] % 2) o = i;
      }
      string ret;
      for (int i = 0; i < (n); i++)
        for (int j = 0; j < (b[i] / 2); j++) ret += 'a' + i;
      string rret = ret;
      reverse(rret.begin(), rret.end());
      if (o != -1) ret += 'a' + o;
      ret += rret;
      for (int j = 0; j < (ans); j++) cout << ret;
    } else {
      for (int j = 0; j < (ans); j++) {
        string ret;
        if (j % 2)
          for (int i = 0; i < (n); i++)
            for (int ii = 0; ii < (a[i] / ans); ii++) ret += 'a' + i;
        else
          for (int i = 0; i < (n); i++)
            for (int ii = 0; ii < (a[n - 1 - i] / ans); ii++)
              ret += 'a' + n - 1 - i;
        cout << ret;
      }
    }
  }
  return 0;
}
