/*
试除法
d|n, n/d|n; d <= n/d, d <= sqrt(n)
*/
#include <iostream>
using namespace std;
void divide(int x) {
for(int i = 2; i <= x / i; i++) {
if(x % i == 0) {
int s = 0;
while(x % i == 0) {
x /= i;
s++;
}
printf("%d %d\n", i, s);
}
}
//可能是一些大数没有可以除的数字存在所以要特判
if(x > 1) printf("%d %d\n", x, 1);
puts("");
}
int main() {
int n, x;
cin >> n;
while(n--) {
cin >> x;
divide(x);
}
return 0;
}