#include <bits/stdc++.h>
using namespace std;
const int SZ = 2010;
int v[SZ], ans[SZ];
bitset<SZ> used;
int gcd(int a, int b) {
  int t;
  while (b) {
    t = a;
    a = b;
    b = t % b;
  }
  return a;
}
signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0), cout.tie(0);
  int q, n, ok, k, i, cnt, l;
  cin >> q;
  for (int aaa = 0; aaa < q; aaa++) {
    cin >> n;
    k = 0, l = 0;
    for (i = 2; i * i < n; i++) {
      if (n % i == 0) {
        v[k++] = i;
        v[k++] = n / i;
      }
    }
    v[k++] = n;
    if (i * i == n) {
      v[k++] = i;
    }
    sort(v, v + k);
    used.reset();
    int x = v[0];
    used[0] = 1;
    ans[0] = x;
    l++;
    while (true) {
      ok = 0;
      for (i = 0; i < k; i++) {
        if (!used[i] && gcd(v[i], x) > 1) {
          ok = 1;
          ans[l++] = v[i];
          used[i] = 1;
          x = v[i];
          break;
        }
      }
      if (!ok) {
        break;
      }
    }
    cnt = 0;
    for (i = 0; i < k - 1; i++) {
      cout << ans[i] << " ";
      cnt += (gcd(ans[i], ans[i + 1]) == 1);
    }
    cout << ans[k - 1] << "\n";
    cnt += (gcd(ans[k - 1], ans[0]) == 1);
    cout << cnt << "\n";
  }
  return 0;
}
