R개의 방에 S명씩 참가자가 있을 때 각 방 우승자의 순위로 만들 수 있는 서로 다른 수열의 개수를 구한다.
영선이는 온라인 프로그래밍 대회 "선데이 코딩"에 참가한다.
대회가 진행되는 동안 참가자는 RRR개의 방으로 나뉘고, 각 방에는 참가자 SSS명이 들어간다. 따라서 전체 참가자는 R×SR \times SR×S명이다. 방에는 111번부터 RRR번까지 번호가 붙어 있다.
동점자는 없으므로, 대회가 끝나면 각 참가자는 111등(우승)부터 R×SR \times SR×S등까지 서로 다른 등수를 받는다.
방 우승자는 그 방에서 등수가 가장 좋은 참가자다.
영선이는 대회가 끝난 뒤 각 방 우승자의 등수를 방 번호 순서대로 적어 길이 RRR의 수열을 만들었다. 수열의 iii번째 수는 iii번 방 우승자의 등수다.
RRR과 SSS가 주어졌을 때, 이렇게 만들 수 있는 서로 다른 수열의 개수를 구하는 프로그램을 작성하시오.
첫째 줄에 RRR과 SSS가 공백으로 구분되어 주어진다. (1≤R,S≤1001 \le R, S \le 1001≤R,S≤100)
첫째 줄에 만들 수 있는 서로 다른 수열의 개수를 1,000,000,007로 나눈 나머지를 출력한다.
R=2R = 2R=2, S=1S = 1S=1이면 방이 2개이고 각 방에 참가자가 1명이므로, 수열은 (1,2)(1, 2)(1,2)와 (2,1)(2, 1)(2,1) 두 가지다.
R=2R = 2R=2, S=2S = 2S=2이면 만들 수 있는 수열은 (1,2)(1, 2)(1,2), (2,1)(2, 1)(2,1), (1,3)(1, 3)(1,3), (3,1)(3, 1)(3,1)이다. (2,3)(2, 3)(2,3)이나 (1,4)(1, 4)(1,4)는 절대로 만들 수 없다.