Chance! 2

시간 제한2초메모리 제한1024 MB

요약
각 K에 대해 1 더하기, 2배, i배 세 연산을 정확히 K번 사용해 절댓값 500 이내를 유지하며 a를 b로 바꿀 수 있는지 판정한다.
난이도

어려움10점 중 8점

유형
수학, 백트래킹, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

대구과학고의 정보 선생님들은 학생들 간 과도한 경쟁을 막기 위해, 20242024년도 22학기부터는 시험 점수를 대소 관계가 정의되지 않는 복소수로 매기기로 결정하였다. 자료구조 시험에서 은성이는 aa점을 받았고, 상훈이는 bb점을 받았다. 물론 aa와 bb는 복소수이다. 상훈이를 몹시 존경하는 은성이는 자신의 점수를 상훈이의 점수와 똑같이 만들고 싶었다. 그래서 은성이는 자신의 점수를 바꾸는 마법을 배워서 다음 3가지 마법을 사용할 수 있게 되었다.

  • 물 주기: 수에 물을 주면 수가 11 커진다.
  • 밥 주기: 수에 밥을 주면 수가 22배가 된다.
  • Chance!: 수에 Chance!를 외치면 수가 ii배가 된다. (i=−1i=\sqrt{-1})

예를 들어서 a=1−3ia=1-3i이고 b=6+4ib=6+4i인 경우, 은성이는 자신의 점수에 물 주기, 밥 주기, Chance! 마법을 순서대로 사용하여 점수를 2−3i2-3i, 4−6i4-6i, 6+4i6+4i의 순서로 변화시킬 수 있다. 세 종류의 마법을 사용하는 횟수에는 제한이 없지만, 마법을 사용한 후에 은성이의 점수의 실수부분과 허수부분은 각각 절댓값이 500500을 넘으면 안 된다. 은성이는 NN개의 양의 정수 K_1,K_2,...,K_NK\_1, K\_2, ..., K\_N을 몹시 좋아하기 때문에, 마법을 사용한 횟수를 이 수들 가운데 하나로 하고 싶다. 각 1≤j≤N1\leq j\leq N에 대하여, 세 마법을 통틀어서 정확하게 K_jK\_j번 사용한 뒤 은성이의 점수가 bb가 되도록 하는 것이 가능한지 여부를 판단하여라.

입력

첫째 줄에 은성이의 점수 aa의 실수부분과 허수부분이 공백을 사이에 두고 주어진다.

둘째 줄에 상훈이의 점수 bb의 실수부분과 허수부분이 공백을 사이에 두고 주어진다.

셋째 줄에 은성이가 좋아하는 양의 정수의 개수 NN이 주어진다.

넷째 줄에 은성이가 좋아하는 양의 정수 K_1,K_2,...,K_NK\_1, K\_2, ..., K\_N이 공백을 사이에 두고 오름차순으로 정렬된 상태로 주어진다.

출력

NN개의 줄에 걸쳐 정답을 출력한다. j(1≤j≤N)j(1\leq j\leq N)번째 줄에는, 은성이가 마법을 정확히 K_jK\_j번 사용하여 aa를 bb로 바꿀 수 있으면 YES를 출력하고, 아니면 NO를 출력한다.

제한

  • aa의 실수부분과 허수부분은 절댓값이 500500 이하이다.
  • bb의 실수부분과 허수부분은 절댓값이 500500 이하이다.
  • 1≤N≤10 0001 \leq N \leq 10\ 000
  • 1≤K_1<K_2<⋯<K_N≤1091 \leq K\_1 < K\_2 < \cdots < K\_N \leq 10^9
  • 주어지는 모든 수는 정수이다.

예제2

  1. 예제 1

    입력
    1 -3
    6 4
    3
    3 5 7
    
    예상 출력
    YES
    NO
    YES
    
  2. 예제 2

    입력
    -1 0
    -1 0
    4
    1 2 3 4
    
    예상 출력
    NO
    YES
    NO
    YES