만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

엉엉이의 저주 탈출

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

요약
N턴과 M이 주어질 때, 원이 짝수 개의 조각으로 나뉘면 이기는 헌철이 최적 전략으로 얻는 승률을 구합니다.
난이도

어려움10점 중 9점

유형
확률, 게임 이론, 조합론, 수학
정답자
아직 제출이 없습니다

문제

엉엉이의 저주, 멈뭄미믜 저주, 섯섯시싀 저주에 차례로 걸렸던 현철이는 섯섯시싀 저주와 멈뭄미믜 저주를 무사히 풀어냈다. 이제 마지막 관문인 엉엉이의 저주만 남았다.

엉엉이는 현철이와 한 원 위에서 하는 게임인 엉엉이 게임을 제안했다. 엉엉이가 게임을 제안했으니, 공정성을 위해 자신에게 패널티를 주기로 했다. 그래서 현철이는 최적의 전략으로 플레이할 수 있지만, 엉엉이는 모든 행동을 랜덤하게 진행한다. 엉엉이 게임은 다음과 같이 진행된다.

  • 엉엉이 게임은 총 NN턴 동안 진행된다. 첫 번째 턴을 시작하기 전에 턴 수 NN과 게임 상수 MM을 정한다. 이때 NN은 11 이상의 정수이고, MM은 33 이상의 정수이다.
  • 첫 번째 턴부터 NN번째 턴까지, ii번째 턴에 다음 행동을 진행한다.
    • 현철이는 33 이상 MM 이하의 정수 t_it\_i를 같은 확률로 하나 뽑는다.
    • 이어서 현철이는 원주 위에 서로 다른 t_it\_i개의 점을 원하는 대로 고르고, 고른 점들을 이어 볼록 t_it\_i각형을 그린다.
    • 엉엉이는 33 이상 MM 이하의 정수 s_is\_i를 같은 확률로 하나 뽑는다.
    • 이어서 엉엉이는 원주 위에서 균일한 확률로 서로 다른 s_is\_i개의 점을 뽑고, 뽑은 점들을 이어 볼록 s_is\_i각형을 그린다.
  • 현철이와 엉엉이는 모든 턴이 끝날 때까지 서로의 그림을 볼 수 없다. 또한 모든 턴이 끝날 때까지 서로의 t_it\_i와 s_is\_i도 알 수 없다.
  • 모든 턴이 끝나면 두 그림을 겹쳐서 원이 몇 개의 조각으로 나뉘었는지 확인한다. 짝수 개의 조각으로 나뉘었다면 현철이가 이기고, 홀수 개의 조각으로 나뉘었다면 엉엉이가 이긴다.

위 그림은 N=2N=2, M=5M=5일 때의 예시이며, 원은 44개의 조각으로 나뉘었다.

위 그림이 현철이의 최적의 전략이 아닐 수도 있다.

턴 수 NN과 게임 상수 MM이 정해졌을 때, 현철이가 최적의 전략으로 게임을 했을 때 이길 확률을 구해 보자.

입력

첫 번째 줄에 테스트 케이스의 개수 T(1≤T≤106)T(1\le T\le 10^6)가 주어진다.

다음 TT개의 줄에 걸쳐 게임의 턴 수 N(1≤N≤109)N(1\le N\le 10^9)과 게임 상수 M(3≤M≤109)M(3\le M\le 10^9)이 공백으로 구분되어 주어진다.

출력

첫 번째 줄부터 TT개의 줄에 걸쳐 각 테스트 케이스마다 현철이가 이길 확률을 출력한다. 단, 정확한 출력을 위해 현철이가 이길 확률을 109+710^9+7로 나눈 나머지를 출력한다.

기약 분수 pq(p≥0,q>0,gcd⁡(p,q)=1)\frac{p}{q}(p\ge 0,q>0,\gcd(p,q) =1)를 MM으로 나눈 나머지는, q⋅q−1≡1(modM)q\cdot q^{-1}\equiv 1\pmod M을 만족하는 정수 q−1q^{-1}, 즉 qq의 MM에 대한 모듈로 곱셈 역원을 써서 p⋅q−1(modM)p\cdot q^{-1}\pmod M로 정의한다. 값이 정수이면 q=q−1=1q=q^{-1}=1이므로 p(modM)p\pmod M을 뜻한다.

주어진 조건에서 정답이 정수이거나, 분모가 109+710^9+7의 배수가 아닌 유리수로 나타낼 수 있음을 증명할 수 있다.

예제1

  1. 예제 1

    입력
    6
    1 3
    1 4
    1 5
    4 5
    123456789 987654321
    987654321 123456789
    
    예상 출력
    0
    500000004
    444444448
    61728396
    980193516
    48611749