#include <bits/stdc++.h>
using namespace std;
constexpr int N = 1e3+5;
constexpr long long MOD = 1e9 + 7;
int t, n, k, dp[N][N][55];
long long nfac[N], rfac[N];
long long pw(long long n, long long k){
if(k == 0) return 1;
if(k == 1) return n % MOD;
else if(k % 2 == 1){
long long x = pw(n, k/2);
return (x * x % MOD) * n % MOD;
}
else{
long long x = pw(n, k/2);
return (x * x % MOD);
}
}
long long cnr(long long n, long long r){
return (nfac[n] * rfac[r] % MOD) * rfac[n-r] % MOD;
}
int main(){
ios::sync_with_stdio(false), cin.tie(nullptr);
nfac[0] = 1; rfac[0] = 1;
for(int i = 1; i < N; i++){
nfac[i] = nfac[i-1] * i % MOD;
rfac[i] = pw(nfac[i], MOD-2);
}
dp[0][0][0] = 1;
for (int i = 0; i < N; i++){
for (int j = 1; j < N; j++){
for (int k = 0; k < 55; k++){
dp[i][j][k] = dp[i][j-1][k];
if (i >= j && k > 0)
dp[i][j][k] = (dp[i][j][k] + dp[i - j][j - 1][k - 1]) % MOD;
}
}
}
cin >> t;
while (t--) {
long long ans = 0;
cin >> n >> k;
if (k > 50)
cout << 0 << '\n';
else {
for (int i = 1; i <= n; i++){
ans = (ans + (1LL * dp[i][n][k] * cnr(n - i + k, k) % MOD)) % MOD;
}
cout << ans * nfac[k] % MOD << '\n';
}
}
return 0;
}
559. Maximum Depth of N-ary Tree | 821. Shortest Distance to a Character |
1441. Build an Array With Stack Operations | 1356. Sort Integers by The Number of 1 Bits |
922. Sort Array By Parity II | 344. Reverse String |
1047. Remove All Adjacent Duplicates In String | 977. Squares of a Sorted Array |
852. Peak Index in a Mountain Array | 461. Hamming Distance |
1748. Sum of Unique Elements | 897. Increasing Order Search Tree |
905. Sort Array By Parity | 1351. Count Negative Numbers in a Sorted Matrix |
617. Merge Two Binary Trees | 1450. Number of Students Doing Homework at a Given Time |
700. Search in a Binary Search Tree | 590. N-ary Tree Postorder Traversal |
589. N-ary Tree Preorder Traversal | 1299. Replace Elements with Greatest Element on Right Side |
1768. Merge Strings Alternately | 561. Array Partition I |
1374. Generate a String With Characters That Have Odd Counts | 1822. Sign of the Product of an Array |
1464. Maximum Product of Two Elements in an Array | 1323. Maximum 69 Number |
832. Flipping an Image | 1295. Find Numbers with Even Number of Digits |
1704. Determine if String Halves Are Alike | 1732. Find the Highest Altitude |