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

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

고행

시간 제한0.6초메모리 제한256 MB

요약
1부터 N까지의 순열 가운데, 각 날의 시간 구간 안에서 연속한 문장을 읽는 최적 일정으로 경전을 정확히 K일에 끝내는 순열의 개수를 센다.
난이도

어려움10점 중 9점

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

문제

어느 날 JOI군은 타임머신을 얻었다. 그는 9세기 일본으로 가기로 했다. 그곳에서 당시 일본에서 가장 유명한 승려 중 한 명인 구카이를 만났다. 구카이는 새로운 수행법을 개발하려 했다.

그의 수행은 다음과 같이 진행된다.

  • 구카이는 N개의 문장으로 이루어진 경전을 읽는다. 문장에는 순서가 있고, 그는 순서대로 읽어야 한다.
  • 각 문장에는 1 이상 N 이하의 정수가 하나씩 적혀 있다. 서로 다른 두 문장에 같은 수가 적혀 있지는 않다.
  • 그는 하루를 똑같이 N등분한 N개의 시간 구간 중 i번째 구간에서 정수 i (1 ≤ i ≤ N)가 적힌 문장을 읽어야 한다. 각 문장은 매우 짧아서 한 구간 안에 문장을 읽는 것은 항상 가능하다.

구카이는 경전 전체를 최대한 빨리 읽고 싶어 한다. 하지만 경전을 다 읽는 데 며칠이 걸리는지는 경전의 문장에 적힌 정수에 따라 달라진다. JOI군은 구카이로부터, 구카이가 최적으로 읽었을 때 정확히 K일 만에 경전을 다 읽게 되는 문장 정수 배치의 수를 세어 달라는 부탁을 받았다.

문장의 수 N과 정수 K가 주어졌을 때, 구카이가 최적으로 읽었을 때 정확히 K일 만에 경전을 다 읽게 되는 문장 정수 배치의 수를 1 000 000 007로 나눈 나머지로 계산하라.

입력

표준 입력에서 다음 데이터를 읽는다.

  • 첫째 줄에 N과 K가 공백 하나를 사이에 두고 주어진다.

출력

구카이가 최적으로 읽었을 때 정확히 K일 만에 경전을 다 읽게 되는 문장 정수 배치의 수를 1 000 000 007로 나눈 나머지로 출력하라.

제한

  • 1 ≤ N ≤ 100 000.
  • 1 ≤ K ≤ N.

예제2

  1. 예제 1

    입력
    3 2
    
    예상 출력
    4
    
  2. 예제 2

    입력
    10 5
    
    예상 출력
    1310354