막대 만들기

아직 제출이 없습니다시간 제한1초메모리 제한1024 MB

문제

길고 얇은 막대를 만드는 과정은 다음과 같습니다.

  • 기본으로 사용할 막대를 고릅니다. 사용 가능한 막대의 길이는 A_1,,A_NA\_1, \cdots, A\_N입니다.
  • 원하는 길이가 될 때까지 00번 이상 막대를 늘립니다. 기계에 22 이상의 양의 정수 kk를 설정해서 막대를 넣으면, 길이가 xx였던 막대가 길이 kxkx의 막대가 됩니다.

주어진 QQ개의 길이 각각에 대해 길이가 L_iL\_i인 막대를 만드는 방법의 수를 출력하세요. 두 방법이 서로 다르다는 것은 처음 선택한 막대가 다르거나, 막대를 늘리는 과정에서 입력한 정수 kk의 수열이 서로 다르다는 것을 의미합니다.

입력

첫 줄에 막대의 개수 NN이 주어집니다. (1N100,000)(1 \le N \le 100\\,000)

둘째 줄에 NN개의 서로 다른 정수 A_1,A_2,,A_NA\_1, A\_2, \cdots, A\_N이 공백으로 구분되어 주어집니다. (1A_i100,000)(1 \le A\_i \le 100\\,000)

셋째 줄에 만들고자 하는 막대 길이의 개수 QQ가 주어집니다. (1Q100,000)(1 \le Q \le 100\\,000)

넷째 줄에 QQ개의 정수 L_1,,L_QL\_1, \cdots, L\_Q가 공백으로 구분되어 주어집니다. (1L_i100,000)(1 \le L\_i \le 100\\,000)

출력

첫 줄에 QQ개의 수를 공백으로 구분해 출력합니다. ii번째 수는 길이가 L_iL\_i인 막대를 만드는 방법의 수입니다. 가능한 모든 입력에 대해 답이 10910^9을 넘지 않음을 증명할 수 있습니다.