#include using namespace std; bool isp(long n) { if (n < 2) return false; vector bases {2, 325, 9375, 28178, 450775, 9780504, 1795265022}; long s = __builtin_ctzll(n - 1), d = n >> s; for (auto b : bases) { long p = 1, i = s, j = d, k = b; while (j > 0) { if (j & 1) p = (__int128) p * k % n; k = (__int128) k * k % n; j >>= 1; } while (p != 1 && p != n - 1 && b % n && i--) p = (__int128) p * p % n; if (p != n - 1 && i != s) return false; } return true; } int main() { cin.tie(nullptr); ios::sync_with_stdio(false); long N, X; cin >> N; while (cin >> X) cout << X << " " << isp(X) << "\n"; }