각 질의 K마다 A의 K개 원소를 고르는 모든 조합의 곱을 더한 값을 100003으로 나눈 나머지를 구한다.
길이가 NNN인 수열 AAA가 주어진다. 이 수열에 대한 쿼리 QQQ개를 처리하는 프로그램을 작성하시오.
각 쿼리는 정수 KKK 하나로 이루어진다. 수열 AAA에서 원소를 KKK개 고르는 방법을 모두 살펴보고, 고른 KKK개의 곱을 각각 구한 다음, 그 곱을 전부 더한 값을 100003100003100003으로 나눈 나머지를 출력한다.
고르는 방법은 위치로 구분한다. 값이 같은 원소가 여러 개 있어도 위치가 다르면 서로 다른 방법이므로, 방법의 수는 항상 이항계수 (NK)\binom{N}{K}(KN)와 같다.
첫째 줄에 NNN (1≤N≤300001 \le N \le 300001≤N≤30000)이 주어진다.
둘째 줄에 수열의 원소 A1,A2,…,ANA_1, A_2, \dots, A_NA1,A2,…,AN (1≤Ai≤1000001 \le A_i \le 1000001≤Ai≤100000)이 공백으로 구분되어 주어진다.
셋째 줄에 쿼리의 개수 QQQ (1≤Q≤N1 \le Q \le N1≤Q≤N)가 주어진다.
넷째 줄부터 QQQ개의 줄에 각 쿼리의 KKK (1≤K≤N1 \le K \le N1≤K≤N)가 한 줄에 하나씩 주어진다.
각 쿼리의 답을 입력에 주어진 순서대로 한 줄에 하나씩 출력한다.
A=(2,3,5)A = (2, 3, 5)A=(2,3,5)이고 K=2K = 2K=2이면 고르는 방법은 {2,3}\{2, 3\}{2,3}, {2,5}\{2, 5\}{2,5}, {3,5}\{3, 5\}{3,5} 세 가지다. 곱은 각각 666, 101010, 151515이고 합은 313131이다.
A=(4,4,7)A = (4, 4, 7)A=(4,4,7)이고 K=2K = 2K=2이면 두 444의 값이 같아도 위치가 다르므로 방법은 역시 세 가지다. 곱은 각각 161616, 282828, 282828이고 합은 727272이다.