TLE
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define N 100001
int n,m,a[N],l[N],r[N],q,x,t[6*N],g[6*N],ans,la;
void dtr(int k,int l,int r){
if(l==r){
t[k]=a[l];
return ;
}int m=(l+r)/2;
dtr(k*2,l,m);dtr(k*2+1,m+1,r);
t[k]=t[k*2]+t[k*2+1];
}
void ad(int k,int l,int r,int gg){
g[k]+=gg;
t[k]+=(r-l+1)*gg;
}
void pd (int k,int l,int r,int m){
if(!g[k])return;
ad(k*2,l,m,g[k]);
ad(k*2+1,m+1,r,g[k]);
g[k]=0;
}
void adt(int k,int l,int r,int bg,int ed){
if(l>=bg&&r<=ed)return ad(k,l,r,-1);
int m=(l+r)/2;
pd(k,l,r,m);
if(bg<=m)adt(k*2,l,m,bg,ed);
if(m<ed)adt(k*2+1,m+1,r,bg,ed);
t[k]=t[k*2]+t[k*2+1];
}
int out(int k,int l,int r,int bg,int ed){
if(bg>r||ed<l)return 0;
if(bg<=l&&ed>=r)return t[k];
int m=(l+r)/2;
pd(k,l,r,m);
return out(k*2,l,m,bg,ed)+out(k*2+1,m+1,r,bg,ed);
}
signed main() {
ios::sync_with_stdio(0);
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=m;i++)cin>>l[i]>>r[i];
cin>>q;
dtr(1,1,n);
while(q--){
cin>>x;
x=(x+la-1)%n+1;
// cout<<x<<'!';
adt(1,1,n,x,x);
for(int i=1;i<=m;i++)
if(out(1,1,n,l[i],r[i])==0)ans++;
cout<<ans<<'\n';
la=ans;ans=0;
}
return 0; //好习惯
}