#include <bits/stdc++.h>
using namespace std;
int gcd(int a, int b) {
  int temp;
  while (b > 0) {
    temp = b;
    b = a % b;
    a = temp;
  }
  return a;
}
int main() {
  int t, i;
  scanf("%d", &t);
  ;
  string str;
  while (t--) {
    int ans = 0;
    int f[6];
    memset(f, 0, sizeof(f));
    cin >> str;
    for (i = 0; i < 12; i++) {
      if (str[i] == 'X') {
        f[0] = 1;
        ans++;
        break;
      }
    }
    for (i = 0; i < 6; i++) {
      if (str[i] == 'X' && str[i + 6] == 'X') {
        f[1] = 1;
        ans++;
        break;
      }
    }
    for (i = 0; i < 4; i++) {
      if (str[i] == 'X' && str[i + 4] == 'X' && str[i + 8] == 'X') {
        f[2] = 1;
        ans++;
        break;
      }
    }
    for (i = 0; i < 3; i++) {
      if (str[i] == 'X' && str[i + 3] == 'X' && str[i + 6] == 'X' &&
          str[i + 9] == 'X') {
        f[3] = 1;
        ans++;
        break;
      }
    }
    for (i = 0; i < 2; i++) {
      if (str[i] == 'X' && str[i + 2] == 'X' && str[i + 4] == 'X' &&
          str[i + 6] == 'X' && str[i + 8] == 'X' && str[i + 10] == 'X') {
        f[4] = 1;
        ans++;
        break;
      }
    }
    int cnt = 0;
    for (i = 0; i < 12; i++)
      if (str[i] == 'X') cnt++;
    if (cnt == 12) {
      f[5] = 1;
      ans++;
    }
    printf("%d ", ans);
    if (f[0]) printf("1x12 ");
    if (f[1]) printf("2x6 ");
    if (f[2]) printf("3x4 ");
    if (f[3]) printf("4x3 ");
    if (f[4]) printf("6x2 ");
    if (f[5]) printf("12x1 ");
    cout << endl;
  }
  return 0;
}
