#include<bits/stdc++.h>
#define pr pair<int,int>
using namespace std;
const int N=3e6+10;
int stchoose[N];
int st[N];
int minlife[N];
int T,n,k;
int arr[N],brr[N];
int ans;
void innt(){
ans=0;
for(int i=1;i<=n;i++)minlife[i]=n-1,st[i]=1,stchoose[i]=-1;
for(int i=1;i<=n;i++)brr[i]=arr[i];
}
void cal(){
priority_queue<pr,vector<pr>,less<pr> > q1;
priority_queue<pr,vector<pr>,greater<pr> > q2;
for(int i=1;i<=n;i++){
q1.push(make_pair(arr[i],i));
q2.push(make_pair(arr[i],i));
}
int id1=n,id2=1;
int round=1;
while(round<n){
st[id2]=0;
stchoose[id1]=round;
brr[id1]-=brr[id2];
if(stchoose[id2]!=-1){
minlife[id2]=stchoose[id2]-1;
}
q1.push(make_pair(brr[id1],id1));
q2.push(make_pair(brr[id1],id1));
while(!st[q1.top().second]||q1.top().first!=brr[q1.top().second])q1.pop();
while(!st[q2.top().second]||q2.top().first!=brr[q2.top().second])q2.pop();
id1=q1.top().second;
id2=q2.top().second;
round++;
}
}
void to(){
int minn=1e9;
for(int i=1;i<=n;i++){
minn=min(minn,minlife[i]);
}
ans=n-minn;
}
int main(){
cin>>T;T--;
cin>>n;
for(int i=1;i<=n;i++)cin>>arr[i];
innt();cal();to();
cout<<ans<<endl;
while(T--){
cin>>k;
for(int i=1;i<=k;i++){
int idx,x;
cin>>idx>>x;
arr[idx]=x;
}
innt();
cal();to();
cout<<ans<<endl;
}
return 0;
}