곱의 합 쿼리
시간 제한2초메모리 제한512 MB
각 질의 K마다 A의 K개 원소를 고르는 모든 조합의 곱을 더한 값을 100003으로 나눈 나머지를 구한다.
문제
길이가 인 수열 가 주어진다. 이 수열에 대한 쿼리 개를 처리하는 프로그램을 작성하시오.
각 쿼리는 정수 하나로 이루어진다. 수열 에서 원소를 개 고르는 방법을 모두 살펴보고, 고른 개의 곱을 각각 구한 다음, 그 곱을 전부 더한 값을 으로 나눈 나머지를 출력한다.
고르는 방법은 위치로 구분한다. 값이 같은 원소가 여러 개 있어도 위치가 다르면 서로 다른 방법이므로, 방법의 수는 항상 이항계수 와 같다.
입력
첫째 줄에 ()이 주어진다.
둘째 줄에 수열의 원소 ()이 공백으로 구분되어 주어진다.
셋째 줄에 쿼리의 개수 ()가 주어진다.
넷째 줄부터 개의 줄에 각 쿼리의 ()가 한 줄에 하나씩 주어진다.
출력
각 쿼리의 답을 입력에 주어진 순서대로 한 줄에 하나씩 출력한다.
힌트
이고 이면 고르는 방법은 , , 세 가지다. 곱은 각각 , , 이고 합은 이다.
이고 이면 두 의 값이 같아도 위치가 다르므로 방법은 역시 세 가지다. 곱은 각각 , , 이고 합은 이다.