만드는 중입니다

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

Mike가 폭풍을 보다 (Large)

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

요약
0에서 시작해 +1과 -1을 각각 N번씩 수행하는 모든 순서에 대해, 최댓값의 K제곱을 합한 값을 10억 7을 법으로 구합니다.
난이도

어려움10점 중 9점

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

문제

칠판에는 처음에 00이 적혀 있다. Mike는 다음 두 동작 중 하나를 골라 반복하여 수열을 만든다.

  • 칠판에 쓰인 수가 aa이면, 그 수를 지우고 a+1a+1을 쓴다.
  • 칠판에 쓰인 수가 aa이면, 그 수를 지우고 a−1a-1을 쓴다.

두 동작은 어떤 순서로 해도 되지만, 각 동작을 정확히 NN번씩 수행해야 한다. 칠판에 쓰는 수를 차례대로 원소로 하는 수열을 A1,A2,⋯ ,A2NA_1, A_2, \cdots, A_{2N}이라 하자.

Mike가 진행할 수 있는 모든 순서에 대해 얻은 수열의 최댓값을 구하고, 그 값을 KK제곱한 뒤 모두 더하여라. 답이 커질 수 있으므로 소수 1 000 000 0071\ 000\ 000\ 007로 나눈 나머지를 출력한다.

입력

첫 줄에 음이 아닌 정수 NN과 KK가 주어진다. (1≤N≤1 000 0001 \leq N \leq 1\ 000\ 000, 1≤K≤500 0001 \leq K \leq 500\ 000)

출력

Mike가 얻을 수 있는 모든 수열의 최댓값을 각각 KK제곱하여 더한 값을 출력하여라.

예제2

  1. 예제 1

    입력
    2 2
    
    예상 출력
    7
    
  2. 예제 2

    입력
    1000000 500000
    
    예상 출력
    809476062