#include #include #include #include #include #include #include #include #include #include #include using namespace std; #define MOD 1000000007 #define MOD2 998244353 #define INF (1<<29) #define LINF (1LL<<60) #define EPS (1e-10) #define PI 3.1415926535897932384626433832795028 typedef long long Int; typedef pair P; typedef long double Real; typedef complex CP; Int mod_pow(Int x, Int a, Int m = MOD){ if(a == 0)return 1; if(a % 2 == 1)return x * mod_pow(x, a - 1, m) % m; Int res = mod_pow(x, a / 2, m); return res * res % m; } Int inv(Int x, Int m = MOD){ return mod_pow(x, m-2, m); } Int h, w; int main(){ cin >> h >> w; vector> a(h, vector(w)); vector iprod(h, 1); vector jprod(w, 1); vector izero(h, 0); vector jzero(w, 0); Int allprod = 1; Int zero = 0; for(int i = 0;i < h;i++){ for(int j = 0;j < w;j++){ cin >> a[i][j]; if(a[i][j] == 0){ izero[i]++; jzero[j]++; zero++; }else{ (allprod *= a[i][j]) %= MOD; (iprod[i] *= a[i][j]) %= MOD; (jprod[j] *= a[i][j]) %= MOD; } } } Int q, r, c; cin >> q; while(q--){ cin >> r >> c;r--,c--; int zero_cnt = zero - izero[r] - jzero[c] + (a[r][c] == 0); if(zero_cnt > 0){ puts("0"); continue; } Int ans = allprod * inv(iprod[r] * jprod[c] % MOD) % MOD; if(a[r][c] != 0)(ans *= a[r][c]) %= MOD; cout << ans << endl; } return 0; }