P1116

Paint

Paint

话说今年 HNOI 省队集训在一中进行。为此,fmsoi 特意准备了一个巨大的电子广告牌,准备在上面显示“一中欢迎你”。然而,这块广告牌出现了故障。经过小 Y 的修理后,广告牌终于恢复正常,但也回到了默认状态,即没有任何像素点发光。

这类广告牌由若干像素点构成。现在考虑其中一行,该行最初所有像素点均不发光。每行有 NN 个像素点,编号为 1,2,…,N1,2,\ldots,N。

给定 KK 个目标位置,要求这些位置对应的像素点最终发光,其余像素点不能发光。目标位置可能重复;一个位置只要出现过,最终就必须发光,重复出现不会抵消。

广告牌共有 LL 种操作方式。第 ii 种操作的长度为 UiU_i,每次可以选择任意一段长度为 UiU_i 的连续像素点,并将这些像素点的状态全部取反,即发光的像素点变为不发光,不发光的像素点变为发光。

你需要处理 TT 行彼此独立的数据。对于每一行,请求出达到目标状态所需的最少操作次数。

输入格式

第一行包含一个整数 TT,表示数据组数。

接下来输入 TT 组数据。对于每组数据:

第一行包含三个整数 N,K,LN,K,L,分别表示该行的像素点数量、目标位置数量和操作长度的种类数。

第二行包含 KK 个整数 xix_i,表示目标位置。位置可以重复;一个位置只要出现过,最终就必须发光,重复出现不会抵消。当 K=0K=0 时,该行为空行。

第三行包含 LL 个整数 UiU_i,表示允许使用的操作长度。操作长度可以重复,重复的长度等价于同一种操作方式。

输出格式

输出 TT 行,每行包含一个整数,表示对应数据达到目标状态所需的最少操作次数。

如果无法达到目标状态,输出 −1-1。

样例输入

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

样例输出

2
-1

数据范围

  • 1≤T≤101\le T\le 10;
  • 1≤N≤1041\le N\le 10^4;
  • 0≤K≤100\le K\le 10;
  • 1≤L≤1001\le L\le 100;
  • 1≤xi≤N1\le x_i\le N;
  • 1≤Ui≤N1\le U_i\le N。

来源与许可

本题题面与测试数据整理自 BZOJ。

样例 1

输入

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

输出

2
-1