#include <bits/stdc++.h>
using namespace std;
using namespace std;
const double pi = 3.1415926535897932384626433832;
int gcd(int a, int b) {
  if (!b) return a;
  return gcd(b, a % b);
}
int main() {
  int n;
  cin >> n;
  vector<int> a(n);
  for (int i{0}; i < n; i++) cin >> a[i];
  if (n == 1) {
    cout << a[0] << endl;
    for (int i{0}; i < a[0]; i++) cout << 'a';
    return 0;
  }
  int sum = 0, cnt{};
  for (int i{0}; i < n; i++) {
    if (a[i] & 1) cnt++;
    sum += a[i];
  }
  if (sum & 1) {
    if (cnt != 1) {
      cout << 0 << endl;
      for (int i{0}; i < n; i++) {
        for (int j{0}; j < a[i]; j++) cout << (char)('a' + i);
      }
    } else {
      int g = a[0];
      for (int i{1}; i < n; i++) g = gcd(a[i], g);
      cout << g << endl;
      int id;
      for (int i{0}; i < n; i++)
        if (a[i] & 1) id = i;
      for (int i{0}; i < n; i++) a[i] /= g;
      a[id]--;
      for (int i{0}; i < g; i++) {
        for (int j{0}; j < n; j++)
          for (int k{0}; k < a[j] / 2; k++) cout << (char)('a' + j);
        cout << (char)('a' + id);
        for (int j{n - 1}; j >= 0; j--)
          for (int k{0}; k < a[j] / 2; k++) cout << (char)('a' + j);
      }
    }
    return 0;
  }
  if (cnt) {
    cout << 0 << endl;
    for (int i{0}; i < n; i++) {
      for (int j{0}; j < a[i]; j++) cout << (char)('a' + i);
    }
    return 0;
  }
  int g = a[0];
  for (int i{1}; i < n; i++) g = gcd(a[i], g);
  cout << g << endl;
  for (int i{0}; i < g / 2; i++) {
    for (int j{0}; j < n; j++)
      for (int k{0}; k < a[j] / g; k++) cout << (char)('a' + j);
    for (int j{n - 1}; j >= 0; j--)
      for (int k{0}; k < a[j] / g; k++) cout << (char)('a' + j);
  }
}
