#include #define ll long long using namespace std; const int N = 1005; const int MD = 1e9 + 7; int f[N][N][15]; void add(int& x, int y) { x += y; if(x >= MD) x -= MD; } int main() { int T, n, m; scanf("%d", &T); while(T--) { scanf("%d%d", &n, &m); memset(f, 0, sizeof f); f[1][0][0] = 1; for(int i = 2; i <= n; i++) { for(int j = 0; j <= m; j++) { for(int k = 0; k <= 10; k++) { add(f[i][j][0], f[i - 1][j][k]); if(j && k) add(f[i][j][k], 1LL * f[i - 1][j - 1][k - 1] * (i - 1) % MD); } } } printf("%d\n", f[n][m][0] ? f[n][m][0] : -1); } return 0; }