難易度評価

難易度を1〜10段階で評価できます。投票はあとから変更・取り消しできます。

難易度(投票) 未投票 (0票)

投票の分布

まだ投票はありません。

  1. Lv.10票
  2. Lv.20票
  3. Lv.30票
  4. Lv.40票
  5. Lv.50票
  6. Lv.60票
  7. Lv.70票
  8. Lv.80票
  9. Lv.90票
  10. Lv.100票

難易度の目安を見る ↗

ログインして難易度を投票

外部サイトへ移動します

リンク先の URL を確認してから開いてください。

別タブで開く

Add to Multiples

作成者 loop0919

テスター mackerel38

難易度(作成者設定) Lv.3

難易度(投票) 未投票 (0票)

実行時間制限
2 秒
メモリ制限
512 MiB

問題文

長さ NN の数列 A=(A1,A2,⋯ ,AN)A = (A_1, A_2, \cdots, A_N) があり、はじめ Ai=0 (1≤i≤N)A_i = 0 ~ (1 \le i \le N) です。

あなたは以下のように説明される操作を 00 回以上 NN 回以下の好きな回数繰り返すことができます。

  • 1≤k≤N1 \le k \le N を満たす正整数 kk と、 ∣x∣≤1018|x| \le 10^{18} を満たす整数 xx を選ぶ。 ii が kk の倍数であるようなすべての i (1≤i≤N)i ~ (1 \le i \le N) について、 AiA_i に xx を加算する。

A=(X1,X2,⋯ ,XN)A = (X_1, X_2, \cdots, X_N) にするような操作列を一つ提示してください。本問題の制約下において、このような操作列が必ず存在することが証明できます。

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

制約

  • 1≤T≤1051 \le T \le 10^5
  • 1≤N≤3×1051 \le N \le 3 \times 10^5
  • すべてのテストケースにおける NN の総和は 3×1053 \times 10^5 以下
  • ∣Xi∣≤109|X_i| \le 10^9
  • 入力される値はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

TT case1\mathrm{case}_1 case2\mathrm{case}_2 ⋮\vdots caseT\mathrm{case}_T

各テストケース caset (1≤t≤T)\mathrm{case}_t ~ (1 \leq t \leq T) は以下の形式で与えられる。

NN X1X2…XNX_1 \quad X_2 \quad \ldots \quad X_N

出力

各テストケースについての答えを、改行区切りで順に出力せよ。

各テストケースについて、操作回数を QQ 、 q (1≤q≤Q)q ~ (1 \le q \le Q) 回目の操作のときに選んだ k,xk, x を kq,xqk_q, x_q としたとき、以下の形式で出力せよ。

QQ k1x1k_1 \quad x_1 k2x2k_2 \quad x_2 ⋮\vdots kQxQk_Q \quad x_Q

条件を満たす操作列が複数存在する場合、そのいずれを答えても正解と判定される。

サンプル 1

入力

3
4
3 1 4 1
10
0 1000000000 0 1000000000 0 1000000000 -998244353 1000000000 0 1000000000
2
0 0

出力

4
3 1
1 3
4 0
2 -2
2
2 1000000000
7 -998244353
0

11 番目のテストケースについて、例えば以下のように操作を行うことで条件を満たします。

  • k=3, x=1k = 3, ~ x = 1 を選ぶ。 A=(0,0,1,0)A = (0, 0, 1, 0) となる。
  • k=1, x=3k = 1, ~ x = 3 を選ぶ。 A=(3,3,4,3)A = (3, 3, 4, 3) となる。
  • k=4, x=0k = 4, ~ x = 0 を選ぶ。 A=(3,3,4,3)A = (3, 3, 4, 3) となる。
  • k=2, x=−2k = 2, ~ x = -2 を選ぶ。 A=(3,1,4,1)A = (3, 1, 4, 1) となる。

ここで、操作回数を最小化する必要はありません。

スペシャルジャッジ問題:提出の出力を検証コードで判定します。