AT_npcapc_2024_e Aim High
Description
あなたは $ 2 $ 次元平面を用いてゲームをします。始め、 $ -100 \le x \le 100,-100 \le y \le 0 $ を満たす格子点 $ (x,y) $ に駒が $ 1 $ 個ずつ置かれています。
あなたは以下の操作を $ 0 $ 回以上行うことが出来ます。
- $ 2 $ 個の点の組 $ (a,b),(c,d) $ であって、 $ |a-c|+|b-d| = 1 $ かつ $ (a,b),(c,d) $ 両方に駒が $ 1 $ 個以上あるものを選ぶ。 $ (a,b) $ にある駒 $ 1 $ 個を $ (c,d) $ を中心として時計回りか反時計周りに $ 90 $ 度回転させた点に置き、 $ (c,d) $ にある駒を $ 1 $ 個消す。(既に移動先の点に駒が置かれていても良い。)
あなたの目標は操作が全て終わったときに $ y $ 座標が $ N $ 以上であるいずれかの点に駒が置かれている状態にすることです。目標が達成可能か判定し、可能ならば操作列を $ 1 $ 個構築してください。
$ T $ 個のテストケースが与えられるので、それぞれについて解いてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ T $ $ \mathrm{case}_1 $ $ \mathrm{case}_2 $ $ \vdots $ $ \mathrm{case}_T $
ここで、 $ \mathrm{case}_i $ とは $ i $ 番目のテストケースを意味する。各テストケースは以下の形式で与えられる。
> $ N $
Output Format
$ T $ 個のテストケースへの出力を与えられた順に改行区切りで出力せよ。
それぞれのテストケースについては、目標を達成することが出来ないならば `-1` を、そうでないならば操作回数を $ K $ 、 $ i $ 回目の操作で $ (a_i,b_i) $ にある駒を $ (c_i,d_i) $ を中心として $ (e_i,f_i) $ に移動させるとき以下のように出力せよ。
> $ K $ $ a_1 $ $ b_1 $ $ c_1 $ $ d_1 $ $ e_1 $ $ f_1 $ $ a_2 $ $ b_2 $ $ c_2 $ $ d_2 $ $ e_2 $ $ f_2 $ $ \vdots $ $ a_K $ $ b_K $ $ c_K $ $ d_K $ $ e_K $ $ f_K $
Explanation/Hint
### Sample Explanation 1
$ 1 $ 回目の操作で、 $ (1,0) $ にある駒を $ (0,0) $ を中心に時計回りに $ 90 $ 度回転させて $ (0,1) $ に置きます。
この操作によって $ y $ 座標が $ 1 $ 以上である点 $ (0,1) $ に駒を置くことが出来たので、目標を達成できました。
### Constraints
- $ 1 \le T \le 6 $
- $ 1 \le N \le 6 $