#include<bits/stdc++.h>
using namespace std;
vector<int> ke[1001];
bool visited[1001];
void DFS(int u){
visited[u] = true;
for(int x : ke[u]){
if(!visited[x]){
visited[x] = true;
DFS(x);
}
}
}
int main(){
int m , n;
cin >> m >> n ;
for(int i = 1 ; i <= n ; i++){
int x,y;
cin >> x >> y;
ke[x].push_back(y);
ke[y].push_back(x);
}
int q;
cin >> q;
while(q--){
int s,t;
cin >> s >> t;
DFS(s);
if(!visited[t]) cout << "-1\n";
else cout << "1\n";
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdmVjdG9yPGludD4ga2VbMTAwMV07CmJvb2wgdmlzaXRlZFsxMDAxXTsKdm9pZCBERlMoaW50IHUpewoJdmlzaXRlZFt1XSA9IHRydWU7Cglmb3IoaW50IHggOiBrZVt1XSl7CgkJaWYoIXZpc2l0ZWRbeF0pewoJCQl2aXNpdGVkW3hdID0gdHJ1ZTsKCQkJREZTKHgpOwoJCX0KCX0KfQppbnQgbWFpbigpewoJaW50IG0gLCBuOyAKCWNpbiA+PiBtID4+IG4gOyAKCWZvcihpbnQgaSA9IDEgOyBpIDw9IG4gOyBpKyspewoJCWludCB4LHk7CgkJY2luID4+IHggPj4geTsgCgkJa2VbeF0ucHVzaF9iYWNrKHkpOwoJCWtlW3ldLnB1c2hfYmFjayh4KTsKCX0KCWludCBxOyAKCWNpbiA+PiBxOyAKCXdoaWxlKHEtLSl7CgkJaW50IHMsdDsKCQljaW4gPj4gcyA+PiB0OwoJCURGUyhzKTsKCQlpZighdmlzaXRlZFt0XSkgY291dCA8PCAiLTFcbiI7CgkJZWxzZSBjb3V0IDw8ICIxXG4iOwoJfQp9