조합

면접 대비

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

요약
N choose R을 소수 1,000,000,007로 나눈 나머지를 구한다. N의 최댓값은 1,000,000이다.
난이도

보통10점 중 4점

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

문제

준하는 기초통계학 수업에서 너비가 aa, 높이가 bb인 격자판의 좌하단 점에서 우상단 점까지 최단경로로 가는 방법의 수를 구하라는 과제를 받았다.

알고 있겠지만 정답은 (a+bb)\binom{a+b}{b}이다. 보기만 해도 벌써 조합을 계산할 생각에 신이 나지? 사실 조합을 구하는 문제도 코딩으로 해결할 수 있대. 코딩으로 과제를 해결하자!

입력

첫 줄에 NN과 RR이 주어진다. (0≤R≤N≤1,000,0000 \le R \le N \le 1{,}000{,}000)

출력

(NR)\binom{N}{R}의 값을 1,000,000,0071{,}000{,}000{,}007로 나눈 나머지를 출력하자! (단, 1,000,000,0071{,}000{,}000{,}007은 소수이다)

예제2

  1. 예제 1

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

    입력
    30 15
    
    예상 출력
    155117520