Sugar Sweet II
시간 제한2초메모리 제한2048 MB
무작위 순서로 일어나는 사건 i에서 아이의 사탕이 아이 b_i보다 적으면 w_i개를 받습니다. 모든 사건이 끝난 뒤 각 아이 사탕 수의 기댓값을 10^9+7로 나눈 나머지로 구합니다.
문제
설탕은 달다.
명의 아이가 설탕을 달라고 하고 있다. Chen 교수가 아이들에게 설탕을 나눠 준다. 번째 아이는 처음에 설탕을 개 가지고 있다.
개의 사건이 균일하게 무작위로 정해진 순서로 일어난다. 번째 사건은 다음과 같다.
- 번째 아이가 번째 아이보다 설탕을 엄격히 적게 가지고 있으면, 번째 아이는 설탕을 개 더 받는다. 그렇지 않으면 아무 일도 일어나지 않는다.
사건이 무작위 순서로 일어나므로, Chen 교수의 조수 Randias는 모든 사건이 끝난 뒤 각 아이가 가진 설탕 개수의 기댓값을 알고 싶어 한다.
답은 기약분수 로 나타낼 수 있다. 여기서 와 는 정수이고 이다. 의 값을 출력한다. 즉 이고 를 만족하는 정수 를 출력한다.
입력
첫 줄에 테스트 케이스의 수 ()가 주어진다. 각 테스트 케이스는 다음과 같이 주어진다.
첫 줄에 아이의 수 ()이 주어진다. 둘째 줄에 ()가 개 주어진다. 셋째 줄에 ()가 개 주어진다. 넷째 줄에 ()가 개 주어진다.
모든 테스트 케이스의 의 합은 를 넘지 않는다.
출력
각 테스트 케이스마다 한 줄에 개의 정수를 출력한다. 각 아이가 마지막에 가지게 될 설탕 개수의 기댓값을 위에서 설명한 대로 로 나눈 나머지로 출력한다.