题目描述
给你一个长度为 n 的序列 A1, A2, ... , An。
随后有 q 次询问,对于每次询问给你一个正整数 x,
请你判断是否存在两个不同的位置 i 和 j,满足 A[i] × A[j] == x 并且 i != j
如果存在请输出 YES,否则请输出 NO。
输入描述
第一行输入一个正整数 n,表示序列 A 的长度。
第二行输入 n 个正整数,分别表示序列 A1, A2, ... , An。
第三行输入一个整数 q,表示有 q 次询问。
随后 q 行,每行输入一个正整数 x,含义如上。
输出描述
输出 q 行,对于每一行如果存在满足条件的数,请输出 YES,否则请输出 NO。
样例输入
6 3 4 9 1 5 7 5 9 27 6 14 15
样例输出
YES YES NO NO YES
样例解释
第一次询问,x = 9,9 = a[3] × a[4] = 9 × 1
第二次询问,x = 27,27 = a[1] × a[3] = 3 × 9
第三次询问,x = 6,不存在满足条件的数对
第四次询问,x = 14,不存在满足条件的数对
第五次询问,x = 15,15 = a[1] × a[5] = 3 × 5
数据范围
对于 30% 的数据:
$1 <= n,q,A[i],x <= 10 ^ {3};$
对于 60% 的数据:
$1 <= n,q,A[i],x <= 10 ^ {5};$
对于 100% 的数据:
$1 <= n,q,A[i], x <= 10 ^ {6};$