#arc099c. [arc099_c]Independence

[arc099_c]Independence

問題文

AtCoder 連邦の高橋州には,NN 個の都市があります.都市は 1,2,...,N1, 2, ..., N と番号付けされています. これらの都市の間は,MM 本の両方向に行き来可能な道で結ばれています. ii 番目の道は都市 AiA_i と都市 BiB_i の間を結んでいます. どの道も,異なる都市間を結んでいます. また,どの都市間にも,それらを直接結ぶ道は高々 11 本しか存在しません.

ある時,高橋州は高州と橋州の 22 つの州に分かれることになりました. 高橋州の各都市は,分離後は高州もしくは橋州のいずれか片方に属することになります. ここで,すべての都市が高州,または橋州の一方のみに属してしまっても構わないことにします. このとき,次の条件を満たすようにしたいです:

  • 高州,橋州のいずれにおいても,同じ州内では,どの 22 つの都市も 直接 道で結ばれている.

両端の都市が同じ州内に属しているような道の本数として考えられるもののうち,最小のものを求めてください. ただし,条件を満たすように都市を高州,橋州に分けることが不可能なら,-1 を出力してください.

制約

  • 2leqNleq7002 \\leq N \\leq 700
  • 0leqMleqN(N1)/20 \\leq M \\leq N(N-1)/2
  • 1leqAileqN1 \\leq A_i \\leq N
  • 1leqBileqN1 \\leq B_i \\leq N
  • AineqBiA_i \\neq B_i
  • ineqji \\neq j のとき,AineqAjA_i \\neq A_j または BineqBjB_i \\neq B_j の少なくとも片方が成立
  • ineqji \\neq j のとき,AineqBjA_i \\neq B_j または BineqAjB_i \\neq A_j の少なくとも片方が成立

入力

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

NN MM A1A_1 B1B_1 A2A_2 B2B_2 :: AMA_M BMB_M

出力

答えを出力せよ.


入力例 1

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

出力例 1

4

例えば,高州に都市 1,21, 2 を,橋州に都市 3,4,53, 4, 5 を割り当てると,条件を満たします. このとき,両端の都市が同じ州内に属しているような道の本数は 44 になります.


入力例 2

5 1
1 2

出力例 2

-1

この例では,どのように都市を割り当てても,条件を満たすことができません.


入力例 3

4 3
1 2
1 3
2 3

出力例 3

3

入力例 4

10 39
7 2
7 1
5 6
5 8
9 10
2 8
8 7
3 10
10 1
8 10
2 3
7 4
3 9
4 10
3 4
6 1
6 7
9 5
9 7
6 9
9 4
4 6
7 5
8 3
2 5
9 2
10 7
8 6
8 9
7 3
5 3
4 5
6 3
2 10
5 10
4 2
6 2
8 4
10 6

出力例 4

21