Paint
话说今年 HNOI 省队集训在一中进行。为此,fmsoi 特意准备了一个巨大的电子广告牌,准备在上面显示“一中欢迎你”。然而,这块广告牌出现了故障。经过小 Y 的修理后,广告牌终于恢复正常,但也回到了默认状态,即没有任何像素点发光。
这类广告牌由若干像素点构成。现在考虑其中一行,该行最初所有像素点均不发光。每行有 个像素点,编号为 。
给定 个目标位置,要求这些位置对应的像素点最终发光,其余像素点不能发光。目标位置可能重复;一个位置只要出现过,最终就必须发光,重复出现不会抵消。
广告牌共有 种操作方式。第 种操作的长度为 ,每次可以选择任意一段长度为 的连续像素点,并将这些像素点的状态全部取反,即发光的像素点变为不发光,不发光的像素点变为发光。
你需要处理 行彼此独立的数据。对于每一行,请求出达到目标状态所需的最少操作次数。
输入格式
第一行包含一个整数 ,表示数据组数。
接下来输入 组数据。对于每组数据:
第一行包含三个整数 ,分别表示该行的像素点数量、目标位置数量和操作长度的种类数。
第二行包含 个整数 ,表示目标位置。位置可以重复;一个位置只要出现过,最终就必须发光,重复出现不会抵消。当 时,该行为空行。
第三行包含 个整数 ,表示允许使用的操作长度。操作长度可以重复,重复的长度等价于同一种操作方式。
输出格式
输出 行,每行包含一个整数,表示对应数据达到目标状态所需的最少操作次数。
如果无法达到目标状态,输出 。
样例输入
2
10 8 2
1 2 3 5 6 7 8 9
3 5
3 2 1
1 2
3
样例输出
2
-1
数据范围
- ;
- ;
- ;
- ;
- ;
- 。
来源与许可
本题题面与测试数据整理自 BZOJ。
样例 1
输入
2
10 8 2
1 2 3 5 6 7 8 9
3 5
3 2 1
1 2
3
输出
2
-1