28237
 13190
 39914
 81367
 8554
 61106
 67448
 39004
 22308
 16054
 71468
 60501
 100
 300
 59632
 90783
 5611
 1000
 69475
 69753
 10
 5
 582
 8
 36961
 5071
 20
 53213
 92775
 28738
 100000
 92280
 37944
 9
 2627
 7
 3

1028306548 224346172 2054738392 8539207488 94344524 4816051228 5867563092 1962150044 641839188 332342852 6587875268 4721174212 12600 115440 4586497300 10630118936 40580456 1286328 6225539588 6275533596 92 8 434692 52 1762017168 33141852 440 3652070664 11101694484 1065137992 12898363344 10983871880 1856988304 64 8885348 28 0
#include <bits/stdc++.h>
using namespace std;
int main() {
  int t, n, w, root, cnt, Max, sum, i, flag;
  scanf("%d", &t);
  while (t--) {
    scanf("%d", &n);
    root = sqrt(n);
    Max = 0;
    sum = 1;
    flag = 1;
    for (i = 2; i <= root; i++) {
      cnt = 0;
      while (n % i == 0) {
        if (cnt == 0) sum *= i;
        cnt++;
        n /= i;
      }
      if (cnt && Max && Max != cnt) flag = 0;
      Max = max(Max, cnt);
    }
    if (n != 1) {
      sum *= n;
      if (Max > 1) flag = 0;
      Max = max(Max, 1);
    }
    if (Max & (Max - 1)) flag = 0;
    cnt = 0;
    while (Max > 1) {
      Max = (Max + 1) >> 1;
      cnt++;
    }
    printf("%d %d\n", sum, cnt + 1 - flag);
  }
  return 0;
}
