メルセンヌ素数

2 secs 1024 MB
achapi's icon achapi

問題文

正整数 pp が与えられます。ここで pp は素数です。2p12^p-1 が素数かどうか判定してください。

TT 個のテストケースが与えられるので、それぞれについて解いてください。

現在分かっている 2p12^p-1 が素数となる pp 一覧

p=p = 2, 3, 5, 7, 13, 17, 19, 31, 61, 89, 107, 127, 521, 607, 1279, 2203, 2281, 3217, 4253, 4423, 9689, 9941, 11213, 19937, 21701, 23209, 44497, 86243, 110503, 132049, 216091, 756839, 859433, 1257787, 1398269, 2976221, 3021377, 6972593, 13466917, 20996011, 24036583, 25964951, 30402457, 32582657, 37156667, 42643801, 43112609, 57885161, 74207281, 77232917, 82589933, 136279841

制約

  • 1T1051 \leq T \leq 10^5
  • 2p1092 \leq p \leq 10^9
  • pp は素数

入力

ii 番目のテストケースの pppip_i とする。

Tp1...pTT\\p_1\\...\\p_T

出力

素数なら 1 素数ではないなら 0 多分素数ではないなら -1 を出力してください。

サンプル

入力例1
3
2
3
11
出力例1
1
1
0

221=32^2-1=3 は素数です。

231=72^3-1=7 は素数です。

2111=20472^{11}-1=20472323 で割り切れます。

提出


Go (1.21)