선데이 코딩

R개의 방에 S명씩 참가자가 있을 때 각 방 우승자의 순위로 만들 수 있는 서로 다른 수열의 개수를 구한다.

보통7조합론동적 계획법수학아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

영선이는 온라인 프로그래밍 대회 "선데이 코딩"에 참가한다.

대회가 진행되는 동안 참가자는 RR개의 방으로 나뉘고, 각 방에는 참가자 SS명이 들어간다. 따라서 전체 참가자는 R×SR \times S명이다. 방에는 11번부터 RR번까지 번호가 붙어 있다.

동점자는 없으므로, 대회가 끝나면 각 참가자는 11등(우승)부터 R×SR \times S등까지 서로 다른 등수를 받는다.

방 우승자는 그 방에서 등수가 가장 좋은 참가자다.

영선이는 대회가 끝난 뒤 각 방 우승자의 등수를 방 번호 순서대로 적어 길이 RR의 수열을 만들었다. 수열의 ii번째 수는 ii번 방 우승자의 등수다.

RRSS가 주어졌을 때, 이렇게 만들 수 있는 서로 다른 수열의 개수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 RRSS가 공백으로 구분되어 주어진다. (1R,S1001 \le R, S \le 100)

출력

첫째 줄에 만들 수 있는 서로 다른 수열의 개수를 1,000,000,007로 나눈 나머지를 출력한다.

힌트

R=2R = 2, S=1S = 1이면 방이 2개이고 각 방에 참가자가 1명이므로, 수열은 (1,2)(1, 2)(2,1)(2, 1) 두 가지다.

R=2R = 2, S=2S = 2이면 만들 수 있는 수열은 (1,2)(1, 2), (2,1)(2, 1), (1,3)(1, 3), (3,1)(3, 1)이다. (2,3)(2, 3)이나 (1,4)(1, 4)는 절대로 만들 수 없다.