#include <bits/stdc++.h>
int cmp(const void *a, const void *b) { return *(int *)a - *(int *)b; }
int main() {
  int m, n, i, j, sum = 0, op, mm = 0;
  char sa[120][60], as[120][60], sum1[120120], sum2[60], sum3[120120];
  scanf("%d%d", &m, &n);
  for (i = 0; i < m; i++) {
    scanf("%s", sa[i]);
    for (j = 0; j < n; j++) {
      as[i][n - j - 1] = sa[i][j];
    }
  }
  op = 0;
  for (i = 0; i < m; i++) {
    if (strcmp(as[i], sa[i]) == 0 && op == 0) {
      mm++;
      strcat(sum2, as[i]);
      op = 1;
    }
    for (j = i + 1; j < m; j++) {
      if (strcmp(as[i], sa[j]) == 0) {
        strcat(sum1, as[i]);
        mm++;
        break;
      }
    }
  }
  if (op == 0)
    n = 2 * mm * n;
  else
    n = 2 * (mm - 1) * n + n;
  printf("%d\n%s%s", n, sum1, sum2);
  for (i = strlen(sum1) - 1; i >= 0; i--) {
    printf("%c", sum1[i]);
  }
  return 0;
}
