#abc207d. [abc207_d]Congruence Points

[abc207_d]Congruence Points

問題文

要素数が共に NN であるような二次元平面上の点の集合 S=(a1,b1),(a2,b2),ldots,(aN,bN)S=\\{(a_1,b_1),(a_2,b_2),\\ldots,(a_N,b_N)\\}T=(c1,d1),(c2,d2),ldots,(cN,dN)T=\\{(c_1,d_1),(c_2,d_2),\\ldots,(c_N,d_N)\\} が与えられます。

SS に対して以下の操作を 00 回以上任意の順に好きなだけ繰り返すことで、SSTT を一致させられるかを判定してください。

  • 実数 p(0ltplt360)p\\ (0 \\lt p \\lt 360) を定め、 SS に含まれる全ての点を、原点を中心に時計回りに pp 度回転させる。
  • 実数 q,rq,r を定める。SS に含まれる全ての点を、xx 軸方向に qq, yy 軸方向に rr 移動させる。qq, rr の値域に制約はなく、特に正/負/零のいずれになってもよい。

制約

  • 1leqNleq1001 \\leq N \\leq 100
  • \-10leqai,bi,ci,dileq10\-10 \\leq a_i,b_i,c_i,d_i \\leq 10
  • ineqji \\neq j なら (ai,bi)neq(aj,bj)(a_i,b_i) \\neq (a_j,b_j)
  • ineqji \\neq j なら (ci,di)neq(cj,dj)(c_i,d_i) \\neq (c_j,d_j)
  • 入力は全て整数

入力

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

NN a1a_1 b1b_1 a2a_2 b2b_2 hspace0.6cmvdots\\hspace{0.6cm}\\vdots aNa_N bNb_N c1c_1 d1d_1 c2c_2 d2d_2 hspace0.6cmvdots\\hspace{0.6cm}\\vdots cNc_N dNd_N

出力

問題文中の操作によって SSTT を一致させられるなら Yes を、一致させられないなら No を出力せよ。


入力例 1

3
0 0
0 1
1 0
2 0
3 0
3 1

出力例 1

Yes

SS に含まれる点を赤で、TT に含まれる点を緑で塗った場合、与えられる点集合は以下の図の通りになります。

この場合、以下の手順によって SSTT に一致させることができます。

  1. SS に含まれる全ての点を、原点を中心に時計回りに 270270 度回転させる。
  2. SS に含まれる全ての点を、xx 軸方向に 33, yy 軸方向に 00 移動させる。

入力例 2

3
1 0
1 1
3 0
-1 0
-1 1
-3 0

出力例 2

No

入力に対応する図は以下の通りです。

SSTTyy 軸に対して線対称ですが、問題文中に書かれているような回転操作、移動操作によって SSTT を一致させることはできません。


入力例 3

4
0 0
2 9
10 -2
-6 -7
0 0
2 9
10 -2
-6 -7

出力例 3

Yes

入力例 4

6
10 5
-9 3
1 -5
-6 -5
6 9
-9 0
-7 -10
-10 -5
5 4
9 0
0 -10
-10 -2

出力例 4

Yes