#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 10;
int num[26];
char s[maxn];
int gcd(int a, int b) { return a % b ? gcd(b, a % b) : b; }
int main(void) {
  int n, cnt = 0;
  scanf("%d", &n);
  for (int i = 0; i < n; i++) scanf("%d", num + i);
  int tmp = num[0];
  for (int i = 1; i < n; i++) tmp = gcd(tmp, num[i]);
  for (int i = 0; i < n; i++) num[i] /= tmp;
  if (tmp & 1) {
    int pos1 = -1;
    for (int i = 0; i < n; i++) {
      if (num[i] & 1) {
        if (pos1 == -1)
          pos1 = i;
        else {
          puts("0");
          for (int k = 0; k < n; k++)
            for (int j = 0; j < tmp * num[k]; j++) putchar('a' + k);
          puts("");
          return 0;
        }
      }
    }
    for (int i = 0; i < n; i++) {
      if (num[i] & 1) num[i]--;
      for (int j = 0; j < num[i] / 2; j++) s[cnt++] = 'a' + i;
    }
    int l = cnt;
    if (pos1 != -1) s[cnt++] = 'a' + pos1;
    for (int j = 1; j <= l; j++) s[cnt++] = s[l - j];
    s[cnt] = 0;
    printf("%d\n", tmp);
    for (int j = 0; j < tmp; j++) printf("%s", s);
    puts("");
  } else {
    for (int i = 0; i < n; i++)
      for (int j = 0; j < num[i]; j++) s[cnt++] = 'a' + i;
    for (int i = cnt; i; i--) s[cnt++] = s[i - 1];
    s[cnt] = 0;
    printf("%d\n", tmp);
    for (int j = 0; j < tmp / 2; j++) printf("%s", s);
    puts("");
  }
  return 0;
}
