#include using namespace std; const int N = 1001; const int p = 1E9 + 7; int f[1002][1002][13]; void init(int n) { f[1][0][0] = 1; for (int i = 0; i <= n; i++) for (int j = 0; j <= i; j++) { for (int k = 0; k <= 10; k++) { if (k != 10) (f[i + 1][j + 1][k + 1] += 1LL * f[i][j][k] * i % p) %= p; (f[i + 1][j][0] += f[i][j][k]) %= p; } } } void solve() { int n, m; cin >> n >> m; cout << (f[n][m][0] ? f[n][m][0] : -1) << endl; } int main() { init(1000); int T; cin >> T; while (T--) { solve(); } return 0; }