#include <bits/stdc++.h>
using namespace std;
int n, cnt[123];
char s[400001], c[400001], chs[400001], tmp[400001];
int main(int argc, char const *argv[]) {
  scanf("%d %s", &n, s);
  for (int i = 0; s[i]; ++i) {
    cnt[s[i]]++;
  }
  int num = 0;
  for (int i = 48; i < 123; ++i) {
    if (cnt[i] % 2) {
      c[num++] = i;
      cnt[i]--;
    }
  }
  if (num == 0) {
    printf("1\n");
    int total = 0;
    for (int i = 48; i < 123; ++i) {
      for (int j = 0; j < cnt[i]; ++j) {
        chs[total++] = i;
      }
    }
    int idx = 0;
    int len = n / 2;
    for (int j = 0; j < len; ++j) {
      tmp[j] = tmp[n - 1 - j] = chs[idx];
      idx += 2;
    }
    tmp[n] = 0;
    printf("%s\n", tmp);
  } else {
    bool ok = false;
    while (!ok) {
      if ((n - num) % num == 0 && ((n - num) / num) % 2 == 0) {
        ok = true;
      } else {
        for (int i = 48; i < 123; ++i) {
          if (cnt[i] >= 2 && cnt[i] % 2 == 0) {
            c[num++] = i;
            c[num++] = i;
            cnt[i] -= 2;
            break;
          }
        }
      }
    }
    printf("%d\n", num);
    int total = 0;
    for (int i = 48; i < 123; ++i) {
      for (int j = 0; j < cnt[i]; ++j) {
        chs[total++] = i;
      }
    }
    int idx = 0;
    int len = (n - num) / num / 2;
    for (int i = 0; i < num; ++i) {
      for (int j = 0; j < len; ++j) {
        tmp[j] = tmp[len * 2 - j] = chs[idx];
        idx += 2;
      }
      tmp[len] = c[i];
      tmp[len * 2 + 1] = 0;
      printf("%s ", tmp);
    }
    printf("\n");
  }
  return 0;
}
