#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll n,m,fa1[505][505],fa[505],fa2[505][505],ls[505],ls1[505],mm,rankk[505],c=0,anss[505];
void init (ll n){
for(int i=1;i<=n;i++){
fa[i]=0;
}
}
int find(int x) {
return fa[x] ? fa[x] = find(fa[x]) : x;
}
void merge(int x, int y) {
x=find(x),y=find(y);
if(x!=y){
c++;
fa[x]=y;
}
}
int main(){
cin>>n>>m;
init(n);
for(int i=1;i<=m;i++){
//c=0;
cin>>ls[i]>>ls1[i];
merge(ls[i],ls1[i]);
anss[i]=c;
for(int j=1;j<=n;j++){
fa1[i][j]=fa[j];
}
}
init(n);
for(int i=m,i1=1;i>=1;i--,i1++){
merge(ls[i],ls1[i]);
for(int j=1;j<=n;j++){
fa2[i][j]=fa[j];
}
}
cin>>mm;
ll L,R;
shile(mm--){
cin>>L>>R;
c=0;
init(n);
for(int j=1;j<=n;j++){
if(fa2[R+1][j]){
merge(j,fa2[R+1][j]);
}
}
cout<<n-anss[L-1]-c<<endl;
}
}