#include using namespace std; //#include //using mint = atcoder::modint998244353; #define int long long vector kai,inv; int mod = 1000000007; int f(int n, int k) { return kai[n]*inv[k]%mod*inv[n-k]%mod; } int INV(int x) { int e = mod-2; bitset<30> b(e); int p = x, ans = 1; while(e > 0) { if(e%2 == 1) ans*=p,ans%=mod; e/=2; p*=p; p%=mod; } return ans; } void TLE() { for(int i = 0; i < 998244353; i++) cout << "TLE" << endl; } signed main() { int T; cin >> T; cin >> T; kai.resize(200001); inv.resize(200001); kai[0] = 1, inv[0] = 1; for(int i = 1; i <= 200000; i++) kai[i] = kai[i-1]*i%mod, inv[i] = inv[i-1]*INV(i)%mod; while(T--) { double N,M; cin >> N >> M; int n = N, m = M; if(T > 0) { if(n != N || m != M) cout << 0 << endl; else cout << f(m,n) << endl; } else cout << -1 << endl; } }