#P9617. 方格计数

方格计数

题目描述

在左下角是 (0,0)(0,0),右上角是 (W,H)(W,H) 的网格上,有 (W+1)×(H+1)(W+1)\times (H+1) 个格点。

现在要在格点上找 NN 个不同的点,使得这些点在一条直线上。并且在这条直线上,相邻点之间的距离不小于 DD。求方案数模 109+710^9+7

输入格式

第一行一个整数 TT,表示数据组数。

接下来 TT 行,每行四个整数 N,W,H,DN,W,H,D,意义如题目描述。

输出格式

TT 行,每行一个整数表示答案。

样例

7
2 2 3 3
1 4 5 3
1 251 497 2
5 40 28 10
2 2 2 2
18 60 58 2
19 2 58 4
9
30
125496
597
16
172006701
0

如图,当 N=2,W=2,H=3,D=3N=2,W=2,H=3,D=3 时,共有 99 种不同的方案。

数据范围

  • 对于 20%20\% 的数据,N,W,H,D10N,W,H,D\le 10
  • 对于 50%50\% 的数据,W,H,D100W,H,D\le 100
  • 对于另 20%20\% 的数据,N5N\le 5
  • 对于 100%100\% 的数据,1N501\le N\le 501W,H,D5001\le W,H,D\le 5001T201\le T\le 20