AT_abc190_e [ABC190E] Magical Ornament
Description
[problemUrl]: https://atcoder.jp/contests/abc190/tasks/abc190_e
AtCoder 王国には $ 1,\ 2,\ \dots,\ N $ の番号がついた $ N $ 種類の魔法石が流通しています。
高橋くんは、魔法石を一列に並べて飾りを作ろうとしています。
魔法石には隣り合わせにできる組とできない組があります。 隣り合わせにできる組は $ ( $魔法石 $ A_1, $ 魔法石 $ B_1),\ ( $魔法石 $ A_2, $ 魔法石 $ B_2),\ \dots,\ ( $魔法石 $ A_M, $ 魔法石 $ B_M) $ の $ M $ 組で、それ以外の組は隣り合わせることができません。(これらの組において、石の順序は不問です。)
魔法石 $ C_1,\ C_2,\ \dots,\ C_K $ をそれぞれ $ 1 $ 個以上含む魔法石の列を作ることができるか判定し、作れる場合はそのような列を作るのに必要な魔法石の個数の最小値を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ A_1 $ $ B_1 $ $ A_2 $ $ B_2 $ $ \hspace{7mm}\vdots $ $ A_M $ $ B_M $ $ K $ $ C_1 $ $ C_2 $ $ \cdots $ $ C_K $
Output Format
魔法石 $ C_1,\ C_2,\ \dots,\ C_K $ を含む魔法石の列を作るのに必要な魔法石の個数の最小値を出力せよ。
作ることができない場合、代わりに `-1` を出力せよ。
Explanation/Hint
### 制約
- 入力は全て整数
- $ 1\