#include <bits/stdc++.h>
using namespace std;
int main() {
  int t;
  cin >> t;
  while (t--) {
    bool c[10] = {};
    map<int, string> m;
    m[1] = "1x12";
    m[2] = "2x6";
    m[3] = "3x4";
    m[4] = "4x3";
    m[5] = "6x2";
    m[6] = "12x1";
    c[6] = 1;
    int cnt = 0;
    string s;
    cin >> s;
    for (int i = 0; i < s.length(); ++i)
      if (s[i] == 'X') {
        c[1] = 1;
        break;
      }
    for (int i = 0; i < 6; ++i)
      if (s[i] == 'X' && s[i + 6] == 'X') {
        c[2] = 1;
        break;
      }
    for (int i = 0; i < 4; ++i)
      if (s[i] == 'X' && s[i + 4] == 'X' && s[i + 8] == 'X') {
        c[3] = 1;
        break;
      }
    for (int i = 0; i < 3; ++i)
      if (s[i] == 'X' && s[i + 3] == 'X' && s[i + 6] == 'X' &&
          s[i + 9] == 'X') {
        c[4] = 1;
        break;
      }
    for (int i = 0; i < 2; ++i)
      if (s[i] == 'X' && s[i + 2] == 'X' && s[i + 4] == 'X' &&
          s[i + 6] == 'X' && s[i + 8] == 'X' && s[i + 10] == 'X') {
        c[5] = 1;
        break;
      }
    for (int i = 0; i < 12; ++i)
      if (s[i] == 'O') {
        c[6] = 0;
        break;
      }
    for (int i = 1; i <= 6; ++i)
      if (c[i]) ++cnt;
    cout << cnt;
    for (int i = 1; i <= 6; ++i)
      if (c[i]) cout << ' ' << m[i];
    cout << endl;
  }
  return 0;
}
