아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Mike Sees The Storm (Small)

면접 대비

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

요약
0에서 시작해 +1 동작 N번과 -1 동작 N번을 임의 순서로 수행할 때, 각 순서가 만드는 수열 최댓값의 합을 1e9+7로 나눈 나머지를 구한다.
난이도

보통10점 중 5점

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

문제

Small 버전에서는 NN의 최댓값의 제한이 10001000으로 줄어들고 KK는 11로 고정되어 주어진다.

Mike가 보고 있는 칠판에는 00이 적혀 있다. Mike는 다음과 같은 두 가지의 동작 중 하나를 선택해 반복하면서 수열을 얻고자 한다.

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

두 가지 동작의 순서는 상관없지만, 각각의 동작을 NN번씩 수행해야 한다. 이때, 칠판에 쓰는 숫자를 순서대로 원소로 하는 수열을 A_1,A_2,⋯ ,A_2NA\_{1}, A\_{2}, \cdots, A\_{2N}이라고 하자.

Mike가 진행할 수 있는 모든 순서에 대해 얻어낸 수열들 각각의 최댓값을 KK제곱한 합을 구해보자.

이때, 답이 커질 수 있으므로 소수 1 000 000 0071\ 000\ 000\ 007로 나눈 나머지를 계산하여라.

입력

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

출력

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

예제2

  1. 예제 1

    입력
    2 1
    
    예상 출력
    5
    
  2. 예제 2

    입력
    1000 1
    
    예상 출력
    338371389