점호
시간 제한1초메모리 제한256 MB
각 질의 (x, y)마다 x번 유형이 y번째에 오는 사전 순 최소 점호 순서를 구하고, 유형의 가중합을 10^9+7로 나눈 나머지를 출력한다.
문제
시우 장군의 부대엔 명의 병사와 종류의 장비가 있다. 병사들은 각 종류의 장비를 보유하고 있거나 보유하고 있지 않다. 또한, 임의로 두 병사를 골랐을 때 보유 중인 장비의 목록이 정확히 같은 경우는 존재하지 않는다.
시우 장군은 매일 가지 유형의 서로 다른 점호를 실시한다. 번 유형의 점호에선 장비 를 보유한 병사만 소집하며, 번 유형의 점호에선 장비 를 보유하지 않은 병사만 소집한다. 각 점호 사이의 혼란을 방지하기 위해, 직전 점호 인원 중 절반이 넘게 소집해제되는 경우가 없도록 점호 순서를 정해야 한다.
또한 매번 동일한 순서로 점호를 실시하는 것은 보안 상 좋지 않아서, 시우 장군은 번 유형의 점호를 번째로 실시할 수 있는 점호 순서들 중, 사전 순으로 가장 빠른 것을 채택하고 있다.
가능한 점호 순서가 매우 많기 때문에, 시기오시 장군은 자신이 점호 순서를 올바르게 계산했는지 검증하고 싶다. 가 번째로 실시한 점호의 유형이라 하자. 와 가 주어질 때마다, 를 로 나눈 나머지를 계산하여 출력하여라.
입력
첫 번째 줄에는 가 순서대로 주어진다. (, )
두 번째 줄부터 개의 줄에 걸쳐 각 줄에 2개의 가 입력된다. ()
각 쿼리는 이후의 쿼리에 영향을 주지 않음에 주의하라.
출력
개의 줄에 걸쳐 각 줄마다 해당 에 대한 답을 출력한다.