翻转硬币

Time Limit: 1s Memory Limit: 256MB Submissions: 2 Solved: 0 
Description

n枚硬币正面朝上摆成一排,给定 a[1], a[2], …, a[m],每次操作可以翻转连续 a[i] 个硬币。要求经过最少次数的操作,使得仅第 x[1], x[2], …, x[k] 枚硬币反面朝上,输出最少次数。

Input

第一行三个整数 n, k, m。

第二行 k 个整数表示需要反面朝上的硬币位置,从 1 编号。

第三行 m 个整数表示 a[1], a[2], …, a[m]

Output

一个整数表示答案,若无解,则输出 -1。

Sample Input
10 8 2
1 2 3 5 6 7 8 9
3 5
Sample Output
2
Hint

对于30%的数据,n,m<=10

对于60%的数据,m<=20

对于100%的数据,1<=n<=10000,1<=k<=10,1<=m<=100,1<=a[i]<=n