#include <bits/stdc++.h>
using namespace std;
int n, have[105], num;
char str[400005], ans[400005], vec[400005];
int getn(char x) {
  if (x <= '9' && x >= '0') return x - '0';
  if (x <= 'z' && x >= 'a') return x - 'a' + 10;
  return x - 'A' + 36;
}
char getc(int x) {
  if (x < 10) return x + '0';
  if (x < 36) return x + 'a' - 10;
  return x + 'A' - 36;
}
int main() {
  scanf("%d", &n);
  scanf("%s", str + 1);
  for (int i = 1; i <= n; i++) {
    have[getn(str[i])]++;
  }
  int sum1 = 0, sum2 = 0;
  for (int i = 0; i < 62; i++) {
    if (have[i] % 2) vec[++num] = getc(i);
    sum1 += have[i] % 2;
    sum2 += have[i] / 2;
  }
  if (sum1 == 0) {
    printf("1\n");
    int now = 0;
    for (int i = 0; i < 62; i++) {
      for (int j = 1; j <= have[i] / 2; j++) {
        ans[++now] = ans[n - now + 1] = getc(i);
      }
    }
    printf("%s", ans + 1);
    return 0;
  }
  if (sum1 == 1) {
    printf("1\n");
    int now = 0, pos;
    for (int i = 0; i < 62; i++) {
      for (int j = 1; j <= have[i] / 2; j++) {
        ans[++now] = ans[n - now + 1] = getc(i);
      }
      if (have[i] % 2) pos = i;
    }
    ans[++now] = getc(pos);
    printf("%s", ans + 1);
    return 0;
  }
  for (int i = sum1; i < n; i += 2) {
    if (n % i == 0) {
      int len = n / i;
      if (len % 2 == 0) continue;
      int j = 0, f = 1;
      if (i > sum1) {
        for (; j < 62; j++) {
          for (; f <= have[j] / 2; f++) {
            vec[++num] = getc(j);
            vec[++num] = getc(j);
            if (num == i) break;
          }
          if (num == i) break;
          f = 1;
        }
        f++;
      }
      printf("%d\n", i);
      for (int k = 1; k <= i; k++) {
        int now = 0;
        for (; j < 62; j++) {
          for (; f <= have[j] / 2; f++) {
            ans[++now] = ans[len - now + 1] = getc(j);
            if (now >= (len / 2)) break;
          }
          if (now >= (len / 2)) break;
          f = 1;
        }
        f++;
        ans[++now] = vec[k];
        printf("%s", ans + 1);
        if (k == i)
          printf("\n");
        else
          printf(" ");
      }
      return 0;
    }
  }
  printf("%d\n", n);
  for (int i = 1; i <= n; i++) {
    printf("%c", str[i]);
    if (i == n)
      printf("\n");
    else
      printf(" ");
  }
  return 0;
}
