#include <bits/stdc++.h>
int main() {
  int t, i, j, cnt = 0, b[6], k, l;
  scanf("%d", &t);
  char a[12];
  for (l = 0; l < t; l++) {
    cnt = 0;
    k = 0;
    for (i = 0; i < 6; i++) b[i] = 0;
    scanf("\n");
    for (i = 0; i < 12; i++) scanf("%c", &a[i]);
    for (i = 0; i < 12; i++) {
      if (a[i] == 'X') {
        cnt++;
        b[0] = 1;
        break;
      } else
        b[0] = 0;
    }
    for (i = 0; i < 6; i++) {
      k = 0;
      for (j = 0; j + i < 12; j = j + 6)
        if (a[i + j] == 'X') k++;
      if (k == 2) {
        cnt++;
        b[1] = 1;
        break;
      } else
        b[1] = 0;
    }
    for (i = 0; i < 4; i++) {
      k = 0;
      for (j = 0; j + i < 12; j = j + 4)
        if (a[i + j] == 'X') k++;
      if (k == 3) {
        cnt++;
        b[2] = 1;
        break;
      } else
        b[2] = 0;
    }
    for (i = 0; i < 3; i++) {
      k = 0;
      for (j = 0; j + i < 12; j = j + 3)
        if (a[i + j] == 'X') k++;
      if (k == 4) {
        cnt++;
        b[3] = 1;
        break;
      } else
        b[3] = 0;
    }
    for (i = 0; i < 2; i++) {
      k = 0;
      for (j = 0; j + i < 12; j = j + 2)
        if (a[i + j] == 'X') k++;
      if (k == 6) {
        cnt++;
        b[4] = 1;
        break;
      } else
        b[4] = 0;
    }
    for (i = 0; i < 12; i++) {
      if (a[i] == 'O') {
        b[5] = 0;
        break;
      } else
        b[5] = 1;
    }
    if (b[5] == 1) cnt++;
    printf("%d ", cnt);
    if (b[0] == 1) printf("1x12 ");
    if (b[1] == 1) printf("2x6 ");
    if (b[2] == 1) printf("3x4 ");
    if (b[3] == 1) printf("4x3 ");
    if (b[4] == 1) printf("6x2 ");
    if (b[5] == 1) printf("12x1 ");
    printf("\n");
  }
  return 0;
}
