#1154. 米粉(ricenoodles)

米粉(ricenoodles)

题目背景

FCC FCC 的办公楼附近新开了一家米粉店。但这家米粉店有一个特殊的规定:顾客自带米粉,店家用秘制汤底烹饪。为了保证碗能够 刚好 装下,米粉越多,汤底就要越少。反之亦然。 由于这家店的汤底味道过于美味,很快便吸引了一群FCC FCC 的工作人员。为了提升服务效率,店家每天早上 3 点起床预制汤底。但这又难坏了店家:他不知道煮粉时该用哪一碗!

题目描述

给定碗的容量 v v n n 个正整数 ni n_i 代表每份汤底的质量,k k 个正整数 ki k_i 代表每位FCC FCC 的工作人员自带米粉的质量。由于FCC的工作人员自带反骨特性,他们还要求:汤底编号减去自身排队编号的绝对值必须是个素数。请你求出,店家该用哪一碗汤底。如果有多碗汤底符合要求,请输出编号最小的那一碗。

(碗容量简单的视为米粉质量+汤底质量)

输入输出格式

输入格式

共 5 行。

第一行一个正整数 v v ,代表碗的容量。

第二行一个正整数 n n ,代表预制汤底的份数。

第三行 n n 个正整数 nin_i,代表汤底的质量。

第四行一个正整数 k k ,代表FCC的工作人员的人数。

第五行 k k 个正整数 kik_i,代表每个FCC的工作人员携带的米粉质量。

输出格式

1 1 行。k k 个正整数以空格隔开,代表汤底编号。若没有合适的汤底,请输出-1

输入输出样例

10
8
1 3 2 5 2 7 8 8
3
5 5 2
4 -1 8

样例1解释

对于11号工作人员,米粉质量为55,则汤底质量应为105=510-5=5,4号汤底满足要求。

对于2号工作人员,米粉质量为5,由于4号汤底已经被使用,没有汤底满足要求。

对于3号工作人员,米粉质量为2,则汤底质量应为102=810 - 2 = 8,由于7号汤底的编号差为73=4 7 - 3 = 4 ,4不是质数,所以选择相同质量的8号汤底。83=58 - 3 = 5,5是质数,所以8号满足要求。

样例输入2

见选手目录下 ricenoodles\2.in

样例输出2

见选手目录下ricenoodles\2.out

数据规模与约定

对于 100% 的数据,保证 kn k \leq n 0<v2×106 0 < v \leq 2 \times 10^6 0ni,ki2×106 0 \le n_i, k_i \leq 2 \times 10^6 ,保证所有数据均为整数。

测试点编号 n n k k 特殊性质
1~5 0<n10 0 < n \leq 10 0<k10 0 < k \leq 10
6~10 0<n103 0 < n \leq 10^3 0<k103 0 < k \leq 10^3
11~20 0<n105 0 < n \leq 10^5 0<k105 0 < k \leq 10^5

特殊性质:保证输入的 ni n_i 不重复。