A75073.魔法饰品

普及+/提高

通过率:0%

时间限制:2.00s

内存限制:1024MB

题目描述

在遥远的王国中,流通着编号为 1,2,,N1, 2, \dots, NNN 种魔法石。
NoonMaple打算将魔法石排成一列来制作装饰品。
魔法石之间有些可以相邻,有些则不行。可以相邻的魔法石对有 MM 组,分别为 (A1,B1),(A2,B2),,(AM,BM)(A_1, B_1), (A_2, B_2), \dots, (A_M, B_M),除此之外的组合都不能相邻(这些组合中,石头的顺序无关紧要)。
请判断是否可以制作一个包含魔法石 C1,C2,,CKC_1, C_2, \dots, C_K,且每种至少出现一次的魔法石序列。如果可以,请求出制作这样一个序列所需的最少魔法石数量。

输入格式

输入按以下格式从标准输入读入。

NN MM
A1A_1 B1B_1
A2A_2 B2B_2
\vdots
AMA_M BMB_M
KK
C1C_1 C2C_2 \cdots CKC_K

输出格式

输出制作包含魔法石 C1,C2,,CKC_1, C_2, \dots, C_K 的魔法石序列所需的最小魔法石数量。
如果无法制作,输出 1-1

输入输出样例

  • 输入#1

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

    输出#1

    5
  • 输入#2

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

    输出#2

    -1
  • 输入#3

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

    输出#3

    11

说明/提示

样例解释 1

例如,将魔法石排列为 [1,4,2,4,3][1, 4, 2, 4, 3],可以制作一个包含魔法石 1,2,31, 2, 3 的长度为 55 的序列。

样例解释 3

例如,将魔法石排列为 [1,6,7,5,8,3,9,3,8,10,2][1, 6, 7, 5, 8, 3, 9, 3, 8, 10, 2],可以制作一个包含魔法石 1,2,7,91, 2, 7, 9 的长度为 1111 的序列。

数据范围

  • 所有输入均为整数。
  • 1N1051 \leq N \leq 10^5
  • 0M1050 \leq M \leq 10^5
  • 1Ai<BiN1 \leq A_i < B_i \leq N
  • iji \neq j,则 (Ai,Bi)(Aj,Bj)(A_i, B_i) \neq (A_j, B_j)
  • 1K171 \leq K \leq 17
  • 1C1<C2<<CKN1 \leq C_1 < C_2 < \dots < C_K \leq N
首页