func_code_string: #include <bits/stdc++.h>   using namespace std;   const int N = 1e5 + 10, M = 30;   int a[M], b[M];   char ans[26 * N];   int gcd(int x, int y) { return (!y) ? x : gcd(y, x % y); }   int main() {     ios::sync_with_stdio(0);     int n, cnt = 0, sum = 0, pos = 0, qaq = 0, tmp = 0;     scanf( %d , &n);     for (int i = 1; i <= n; i++) {       scanf( %d , &a[i]);       cnt += a[i] % 2;       sum += a[i];     }     if (cnt > 1) {       cout << 0 << endl;       for (int i = 1; i <= n; i++)         for (int j = 1; j <= a[i]; j++) cout << char( a  + i - 1);       return 0;     }     for (int i = 1; i <= n; i++) qaq = gcd(a[i], qaq);     if (!cnt) qaq /= 2;     for (int i = 1; i <= n; i++) {       a[i] /= qaq;       if (a[i] % 2) tmp = i;     }     sum /= qaq;     for (int i = 1; i <= n; i++) {       if (tmp == i) continue;       for (int j = 1; j <= a[i] / 2; j++) ans[++pos] =  a  + i - 1;     }     for (int i = 1; i <= n; i++) {       if (tmp != i) continue;       for (int j = 1; j <= a[i]; j++) ans[++pos] =  a  + i - 1;     }     for (int i = sum; i >= sum / 2 + 1; i--) ans[i] = ans[sum - i + 1];     if (!cnt)       printf( %d n , qaq * 2);     else       printf( %d n , qaq);     for (int i = 1; i <= qaq; i++) printf( %s , ans + 1);     return 0;   }   