만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

화합물 만들기

시간 제한1초메모리 제한512 MB

요약
원자 무게 W_i가 주어질 때, 각 질의 K에 대해 같은 다양성을 가진 화합물 종류를 함께 골라 정확히 K개를 만들 수 있는지 판별합니다.
난이도

어려움10점 중 8점

유형
정수론, 정렬, 수학
정답자
아직 제출이 없습니다

문제

체릴은 실험을 즐기는 야심 찬 화학자다. 그녀의 실험실에는 1번부터 NN번까지 번호가 붙은 서로 다른 NN종류의 원자가 있다. 모든 ii에 대해 체릴은 ii번 원자를 무한히 가지고 있으며, ii번 원자의 무게는 양의 정수 WiW_i이다.

체릴은 서로 다른 두 종류의 원자를 결합해 화합물을 만든다. (x,y)(x, y)형 화합물(1≤x<y≤N1 \le x < y \le N)은 xx번 원자를 적어도 하나, yy번 원자를 적어도 하나 결합해 만든다. 화합물의 무게는 그 화합물을 만드는 데 쓴 모든 원자 무게의 합이다. 실험실이 망가지지 않도록 체릴은 무게가 101210^{12}를 넘는 화합물은 만들지 않는다. 화합물 종류는 N(N−1)/2N(N-1)/2가지다.

화합물 종류의 변종 수는 그 종류로 만들 수 있는 서로 다른 무게의 개수다. 즉 (x,y)(x, y)의 변종 수는 w≤1012w \le 10^{12}이고 w=Wxα+Wyβw = W_x \alpha + W_y \beta를 만족하는 양의 정수 α\alpha, β\beta가 존재하는 서로 다른 무게 ww의 개수다.

예를 들어 N=5N = 5이고 W={2,3,4,3,3}W = \{2, 3, 4, 3, 3\}이라고 하자.

  • 1번과 2번 원자로 무게 5, 또는 7부터 101210^{12}까지의 모든 무게의 화합물을 만들 수 있다. (1,2)(1, 2)의 변종 수는 999999999995이다.
  • 1번과 3번 원자로 6부터 101210^{12}까지의 짝수 무게 화합물을 만들 수 있다. (1,3)(1, 3)의 변종 수는 499999999998이다.
  • (1,4)(1, 4)와 (1,5)(1, 5)의 변종 수는 999999999995이다.
  • 2번과 3번 원자로 무게 7, 10, 11, 또는 13부터 101210^{12}까지의 모든 무게의 화합물을 만들 수 있다. (2,3)(2, 3)의 변종 수는 999999999991이다.
  • 2번과 4번 원자로 6부터 101210^{12}까지 중 3의 배수인 무게의 화합물을 만들 수 있다. (2,4)(2, 4)의 변종 수는 333333333332이다.
  • (2,5)(2, 5)와 (4,5)(4, 5)의 변종 수는 333333333332이다.
  • (3,4)(3, 4)와 (3,5)(3, 5)의 변종 수는 999999999991이다.

각 화합물 종류에 대해 체릴은 그 종류의 화합물을 정확히 하나 만들거나, 아무것도 만들지 않을 수 있다. (x,y)(x, y) 화합물을 만들었다면, (x,y)(x, y)와 변종 수가 같은 다른 화합물 종류도 모두 만들어야 한다.

체릴에게는 QQ개의 질문이 있다. jj번째 질문은 정확히 KjK_j개의 화합물을 만들 수 있는지를 묻는다.

입력

첫째 줄에 두 정수 NN과 QQ가 주어진다 (2≤N≤5002 \le N \le 500; 1≤Q≤1000001 \le Q \le 100000). 둘째 줄에는 NN개의 정수 WiW_i가 주어진다 (1≤Wi≤1000001 \le W_i \le 100000). 이어지는 QQ개의 줄에는 각각 정수 KjK_j가 하나씩 주어진다 (1≤Kj≤N(N−1)/21 \le K_j \le N(N-1)/2).

출력

각 질문에 대해 입력된 순서대로, 정확히 KjK_j개의 화합물을 만들 수 있으면 YES, 없으면 NO를 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

    입력
    5 4
    2 3 4 3 3
    1
    2
    3
    10
    
    예상 출력
    YES
    NO
    YES
    YES