問題一覧 > 通常問題

No.2830 Don't Stop the Game

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 17
作問者 : ねしんねしん / テスター : 👑 p-adicp-adic
1 ProblemId : 11027 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-08-02 17:19:42

問題文

ゲームのやりすぎを指摘されてしまい、親がゲームにパスワードを設定してしまいました。また親は用心深いので、ゲームのパスワードを$X$とすると、総和が$X$になるように$N$個の整数に分割して、それぞれのサーバーに預けてしまいました。
ゲームがしたいのでどうにかしてパスワードを求めようとしたところ、サーバーにアクセスできるようにはなったものの、変なクエリーしか送ることが出来ませんでした。
そのクエリー内容は以下の通りです。また$i\ (1\leq i \leq N)\ $番目のサーバーに預けられている数を$a_i$とします。また、$b_i\ (1 \leq i \leq N)\ $は初期値が$0$であるものとします。
クエリー$1$ 整数$j\ (1 \leq j \leq N)\ $を送る。それぞれの$b_i\ (1 \leq i \leq N)\ $に$a_j^i$の値を足して$998244353$で割った余りに置き換える。
クエリー$2$ $(1,2,...,N)\ $の順列$\ P=(p_1,p_2,...,p_N)\ $を送る。$b_j\ (1 \leq j \leq N)\ $にそれぞれ$\ \sum_{i=1}^{N} a_{p_i}j^{i-1}\ $を足して$998244353$で割った余りに置き換える。
クエリー$3$ 整数$i,j\ (1 \leq i,j \leq N)\ $を送る。$b_i$と$b_j$を$\ b_ib_j\ $を$998244353$で割った余りに置き換える。
クエリー$4$ 整数$i,x\ (1 \leq i \leq N,1 \leq x \leq 998244352)\ $を送る。$b_i$を$\ b_ix\ $を$998244353$で割った余りに置き換える。
クエリー$5$ 整数$i,x\ (1 \leq i \leq N,1 \leq x \leq 998244352)\ $を送る。$b_i$を$\ b_i+x\ $を$998244353$で割った余りに置き換える。
クエリーは合計で$1000$回まで送ることが出来ます。すべてのクエリーが終わった後に$\ \sum_{i=1}^{N}b_i\ $を$998244353$で割った余りだけ伝えられます。
親から聞き出し、$N=30\ $であることはわかりました。このことから、$\sum_{i=1}^{N}a_i=(\sum_{i=1}^{N}b_i) \mod 998244353\ $になるように操作し、パスワードをゲットしてください。

入力


    

入力は与えられません。
$a_i(1 \leq i \leq N)$は以下の条件を満たします。
・$0 \leq a_i \leq 10^7$
・$a_i$はクエリー読み取る前にジャッジ側で固定

出力

$M
\\query_1
\\query_2
\\ \ldots
\\query_M$

クエリー数を$M$としたとき、上記の様に出力してください。ただし$1 \leq M \leq 1000$である必要があります。
また$query_i(1 \leq i \leq M)$は以下のいずれかの形で出力してください。

$1
\\j$
$2
\\p_1 \ p_2 \ ... \ p_N$
$3
\\i \ j$
$4
\\i\  x$
$5
\\i \ x$

ただし、それぞれのクエリーで以下の条件を満たしている必要があります。
クエリー1
・$1 \leq j \leq N$
クエリー2
・$(p_1,p_2,\ldots,p_N)\ $は$\ (1,2,\ldots,N)\ $の順列
クエリー3
・$1 \leq i,j \leq N$
クエリー4
・$1 \leq i \leq N$
・$1 \leq x \leq 998244352$
クエリー5
・$1 \leq i \leq N$
・$1 \leq x \leq 998244352$
上記の条件をすべて満たし、$\sum_{i=1}^{N}a_i=(\sum_{i=1}^{N}b_i) \mod 998244353\ $のとき正解となります。また制約を満たしていない場合の結果は未定です。

サンプル

サンプル1
入力

            
出力
5
1
3
2
1 3 2
3
1 2
4
1 5
5
1 1000

ここでは簡略化のため実際とは異なる$N=3$とします。また$\ (a_1,a_2,a_3)=(6,3,1)\ $とします。最初は$\ (b_1,b_2,b_3)=(0,0,0)\ $です。
$1$つ目のクエリーで$\ (b_1,b_2,b_3)=(0+1^1,0+1^2,0+1^3)=(1,1,1)\ $となります。
$2$つ目のクエリーで$\ (b_1,b_2,b_3)=(6+1 \times 1+3 \times 1^2+1,6+1 \times 2+3 \times 2^2+1,6+1 \times 3+3 \times 3^2+1)=(11,21,37)\ $となります。
$3$つ目のクエリーで$\ (b_1,b_2,b_3)=(11 \times 21 , 11 \times 21 ,37) =(231,231,37)\ $となります。
$4$つ目のクエリーで$\ (b_1,b_2,b_3)=(231 \times 5,231,37)=(1155,231,37)\ $となります。
$5$つ目のクエリーで$\ (b_1,b_2,b_3)=(1155+1000,231,37)=(2155,231,37)\ $となります。
明らかにこれは$\ \sum_{i=1}^{N}a_i \neq (\sum_{i=1}^{N}b_i) \mod 998244353\ $であるため不正解です。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。