만드는 중입니다

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

양말 부자 동우와 착한 하늘이

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

요약
양말 종류 n개와 무작위로 집는 횟수 m이 주어질 때, 바닥에 남은 양말 수의 기댓값과 분산을 10^9+7로 나눈 나머지로 구합니다.
난이도

보통10점 중 7점

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

문제

동우는 빨래할 때 양말을 종류별로 빨래 바구니에 모아 두었다가 빨래를 돌리는 습관이 있다. 그런데 동우는 빨래가 끝날 때마다 양말이 짝을 이루지 못하고 한 짝이 사라진다는 사실을 알게 되었다. 그래서 양말의 짝을 맞추기 위해, 빨래 바구니의 양말을 다음 규칙에 따른 시행을 거쳐 세탁기에 넣기로 했다.

  • 빨래 바구니에 남아 있는 양말 중 한 짝을 무작위로 꺼낸다.
  • 바닥에 이미 놓여 있는 양말 중 방금 꺼낸 양말과 같은 종류의 양말이 있다면, 그 양말과 함께 양말 두 짝(한 쌍)을 세탁기에 넣는다.
  • 방금 꺼낸 양말과 같은 종류의 양말이 바닥에 없다면, 방금 꺼낸 양말을 바닥에 놓는다.

동우는 양말 부자여서 총 nn종류의 양말을 가지고 있고, 종류별로 양말이 무수히 많이 빨래 바구니에 들어 있다. 동우는 위 규칙대로 양말을 세탁기에 넣다가 힘이 들어 잠시 쉬기로 했다. 쉬는 동우를 대신해 마음씨 착한 하늘이가 위 규칙대로 시행을 이어 가기로 했다.

하늘이는 몇 번의 시행 뒤 바닥에 놓인 양말의 개수가 궁금해졌다. 하늘이가 mm번 시행한 후 바닥에 놓인 양말 개수의 기댓값과 분산을 구하라.

동우가 쉬기 시작할 때, 즉 하늘이가 시행하기 전에 각 종류의 양말이 바닥에 놓여 있을 확률은 종류마다 독립적으로 12\frac{1}{2}이다. 따라서 2n2^n가지 초기 상태의 확률은 모두 12n\frac{1}{2^n}로 같다.

각 시행에서 양말을 빨래 바구니에서 꺼낼 때는 각 종류가 1n\frac{1}{n}의 같은 확률로 뽑힌다.

입력

첫 줄에 테스트 케이스의 개수 T(1≤T≤105)T(1\le T\le 10^{5})이 주어진다.

각 테스트 케이스는 한 줄에 양말의 종류 개수 n(1≤n≤1018)n(1\le n\le 10^{18})과 하늘이가 할 시행 횟수 m(0≤m≤1018)m(0\le m\le 10^{18})이 공백으로 구분되어 주어진다.

출력

각 테스트 케이스마다 mm번 시행한 후 바닥에 놓인 양말 개수의 기댓값과 분산을 각각 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}을 써서 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로 나눈 나머지로 유일하게 정해지는 입력만 주어진다. 즉, 답은 정수이거나 분모가 109+710^9+7과 서로소인 기약분수이다. 109+710^9+7은 소수이다.

힌트

양말 한 짝은 한 개를 뜻하고, 두 짝이 한 쌍이다. 양말에는 왼쪽과 오른쪽의 구분이 없으므로, 같은 종류끼리는 쌍을 이룬다.

예제1

  1. 예제 1

    입력
    2
    1 0
    4 2
    
    예상 출력
    500000004 250000002
    2 1