좋은 트리의 개수
시간 제한2초메모리 제한512 MB
kn개의 노드를 크기 k인 n개 블록으로 나누고, 같은 블록 안의 두 노드를 잇는 간선이 없는 트리의 개수를 10^9+7로 나눈 나머지를 구한다.
문제
좋은 트리는 다음 두 조건을 만족하는 트리다.
- 노드는 개이고 번부터 번까지 번호가 붙어 있다.
- 이고 인 두 노드 , 는 서로 인접하지 않는다. 여기서 는 정수 나눗셈이라서 이다.
두 번째 조건은 번호를 앞에서부터 연속한 개씩 끊어 개의 묶음으로 나눴을 때, 같은 묶음에 속한 두 노드를 잇는 간선은 없다는 뜻이다. 나머지 노드 쌍은 간선으로 이어도 된다.
노드에는 번호가 붙어 있으므로 간선 집합이 다른 두 트리는 서로 다른 트리로 센다.
과 가 주어졌을 때, 좋은 트리의 개수를 세는 프로그램을 작성하시오.
입력
첫째 줄에 ()과 ()가 공백으로 구분되어 주어진다.
출력
좋은 트리의 개수를 로 나눈 나머지를 출력한다.