#include <bits/stdc++.h>
using namespace std;
const int MAX = 1e7 + 1;
int spf[MAX];
void build_sieve() {
for (int i = 2; i < MAX; ++i) {
if (spf[i] == 0) {
for (int j = i; j < MAX; j += i) {
if (spf[j] == 0) spf[j] = i;
}
}
}
}
vector<int> get_distinct_prime_factors(int x) {
vector<int> primes;
while (x > 1) {
int p = spf[x];
primes.push_back(p);
while (x % p == 0) x /= p;
}
return primes;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
build_sieve();
int n;
cin >> n;
vector<int> a(n);
for (int i = 0; i < n; ++i)
cin >> a[i];
vector<int> d1(n), d2(n);
for (int i = 0; i < n; ++i) {
auto primes = get_distinct_prime_factors(a[i]);
if (primes.size() < 2) {
d1[i] = d2[i] = -1;
} else {
d1[i] = primes[0];
d2[i] = primes[1];
for(int j=2;j<(int)primes.size();j++) d2[i]*=primes[j];
}
}
for (int x : d1) cout << x << " ";
cout << "\n";
for (int x : d2) cout << x << " ";
cout << "\n";
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgTUFYID0gMWU3ICsgMTsKaW50IHNwZltNQVhdOwoKdm9pZCBidWlsZF9zaWV2ZSgpIHsKICAgIGZvciAoaW50IGkgPSAyOyBpIDwgTUFYOyArK2kpIHsKICAgICAgICBpZiAoc3BmW2ldID09IDApIHsgCiAgICAgICAgICAgIGZvciAoaW50IGogPSBpOyBqIDwgTUFYOyBqICs9IGkpIHsKICAgICAgICAgICAgICAgIGlmIChzcGZbal0gPT0gMCkgc3BmW2pdID0gaTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKdmVjdG9yPGludD4gZ2V0X2Rpc3RpbmN0X3ByaW1lX2ZhY3RvcnMoaW50IHgpIHsKICAgIHZlY3RvcjxpbnQ+IHByaW1lczsKICAgIHdoaWxlICh4ID4gMSkgewogICAgICAgIGludCBwID0gc3BmW3hdOwogICAgICAgIHByaW1lcy5wdXNoX2JhY2socCk7CiAgICAgICAgd2hpbGUgKHggJSBwID09IDApIHggLz0gcDsKICAgIH0KICAgIHJldHVybiBwcmltZXM7Cn0KCmludCBtYWluKCkgewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKDApOwoKICAgIGJ1aWxkX3NpZXZlKCk7CgogICAgaW50IG47CiAgICBjaW4gPj4gbjsKICAgIHZlY3RvcjxpbnQ+IGEobik7CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpIAogICAgICAgIGNpbiA+PiBhW2ldOwoKICAgIHZlY3RvcjxpbnQ+IGQxKG4pLCBkMihuKTsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkgewogICAgICAgIGF1dG8gcHJpbWVzID0gZ2V0X2Rpc3RpbmN0X3ByaW1lX2ZhY3RvcnMoYVtpXSk7CgogICAgICAgIGlmIChwcmltZXMuc2l6ZSgpIDwgMikgewogICAgICAgICAgICBkMVtpXSA9IGQyW2ldID0gLTE7IAogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGQxW2ldID0gcHJpbWVzWzBdOyAgCiAgICAgICAgICAgIGQyW2ldID0gcHJpbWVzWzFdOwogICAgICAgICAgICBmb3IoaW50IGo9MjtqPChpbnQpcHJpbWVzLnNpemUoKTtqKyspIGQyW2ldKj1wcmltZXNbal07CiAgICAgICAgfQogICAgfQoKICAgIGZvciAoaW50IHggOiBkMSkgY291dCA8PCB4IDw8ICIgIjsKICAgIGNvdXQgPDwgIlxuIjsKICAgIGZvciAoaW50IHggOiBkMikgY291dCA8PCB4IDw8ICIgIjsKICAgIGNvdXQgPDwgIlxuIjsKCiAgICByZXR1cm4gMDsKfQo=