#abc232c. [abc232_c]Graph Isomorphism

[abc232_c]Graph Isomorphism

問題文

高橋君と青木君は、それぞれ NN 個のボールに MM 本のひもを取り付けたおもちゃを持っています。

高橋君のおもちゃにおいて、ボールには 1,dots,N1, \\dots, N と番号が付けられており、i,(1leqileqM)i \\, (1 \\leq i \\leq M) 本目のひもはボール AiA_i とボール BiB_i を結んでいます。

青木君のおもちゃにおいても同様に、ボールには 1,dots,N1, \\dots, N と番号が付けられており、i,(1leqileqM)i \\, (1 \\leq i \\leq M) 本目のひもはボール CiC_i とボール DiD_i を結んでいます。

それぞれのおもちゃにおいて、同一のボールを結ぶようなひもは存在せず、22 つのボールを 22 本以上の異なるひもが結んでいることはありません。

すぬけ君は、22 人のおもちゃが同じ形であるかどうか気になっています。
ここで、22 人のおもちゃが同じ形であるとは、以下の条件を満たす数列 PP が存在することをいいます。

  • PP(1,dots,N)(1, \\dots, N) を並べ替えて得られる。
  • 任意の 11 以上 NN 以下の整数 i,ji, j に対し、以下が成り立つ。
    • 高橋君のおもちゃにおいてボール i,ji, j がひもで繋がれていることと、青木君のおもちゃにおいてボール Pi,PjP_i, P_j がひもで繋がれていることは同値である。

22 人のおもちゃが同じ形であるなら Yes、そうでないなら No と出力してください。

制約

  • 1leqNleq81 \\leq N \\leq 8
  • 0leqMleqfracN(N1)20 \\leq M \\leq \\frac{N(N - 1)}{2}
  • $1 \\leq A_i \\lt B_i \\leq N \\, (1 \\leq i \\leq M)$
  • (Ai,Bi)neq(Aj,Bj),(ineqj)(A_i, B_i) \\neq (A_j, B_j) \\, (i \\neq j)
  • $1 \\leq C_i \\lt D_i \\leq N \\, (1 \\leq i \\leq M)$
  • (Ci,Di)neq(Cj,Dj),(ineqj)(C_i, D_i) \\neq (C_j, D_j) \\, (i \\neq j)
  • 入力は全て整数である。

入力

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

NN MM A1A_1 B1B_1 vdots\\vdots AMA_M BMB_M C1C_1 D1D_1 vdots\\vdots CMC_M DMD_M

出力

22 人のおもちゃが同じ形であるなら Yes、そうでないなら No と出力せよ。


入力例 1

4 4
1 2
1 3
1 4
3 4
1 3
1 4
2 3
3 4

出力例 1

Yes

高橋君のおもちゃは下図の左側のような形をしており、青木君のおもちゃは下図の右側のような形をしています。

yes1

次の図から、22 人のおもちゃが同じ形であることがわかります。例えば P=(3,2,1,4)P = (3, 2, 1, 4) とすると問題文中の条件を満たします。

yes2


入力例 2

5 6
1 2
1 3
1 4
3 4
3 5
4 5
1 2
1 3
1 4
1 5
3 5
4 5

出力例 2

No

22 人のおもちゃは同じ形ではありません。

no


入力例 3

8 0

出力例 3

Yes