#include"bits/stdc++.h"
using namespace std;
#define fast ios_base::sync_with_stdio(false);cin.tie(nullptr)
#define i64 int64_t
#define deb(x) cout<<"["<<#x<<"="<<x<<"]"<<"\n"
#define pb push_back
int main()
{
fast;
int t;
cin>>t;
while(t--)
{
int n,q;
cin>>n>>q;
vector<int>a(n);
for(auto& i:a)
{
cin>>i;
}
int fin=[&]()->int{
int ans=1;
for(i64 i=0;i<a.size()-1;++i)
{
if(a[i]!=a[i+1])
{
ans++;
}
}
return ans;
}();
vector<int>ans;
while(q--)
{
i64 x,y;
cin>>x>>y;
vector<int>cache=a;
a[x-1]=y;
if(x!=0&&a[x-1]==a[x-2]&&cache[x-1]!=cache[x-2])
{
fin-=1;
// cout<<fin<<"\n";
}
if(x!=n&&a[x-1]==a[x]&&cache[x-1]!=cache[x])
{
fin-=1;
// cout<<fin<<"\n";
}
if(x!=0&&a[x-1]!=a[x-2]&&cache[x-1]==cache[x-2])
{
fin+=1;
// cout<<fin<<"\n";
}
if(x!=n&&a[x-1]!=a[x]&&cache[x-1]==cache[x])
{
fin+=1;
// cout<<fin<<"\n";
}
ans.pb(fin);
}
for(auto i:ans)
{
cout<<i<<"\n";
}
cout<<"\n";
}
return 0;
}
I2luY2x1ZGUiYml0cy9zdGRjKysuaCIKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgZmFzdCBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTtjaW4udGllKG51bGxwdHIpCiNkZWZpbmUgaTY0IGludDY0X3QKI2RlZmluZSBkZWIoeCkgY291dDw8IlsiPDwjeDw8Ij0iPDx4PDwiXSI8PCJcbiIKI2RlZmluZSBwYiBwdXNoX2JhY2sKaW50IG1haW4oKQp7CglmYXN0OwoJaW50IHQ7CgljaW4+PnQ7Cgl3aGlsZSh0LS0pCgl7CgkJaW50IG4scTsKCQljaW4+Pm4+PnE7CgkJdmVjdG9yPGludD5hKG4pOwoJCWZvcihhdXRvJiBpOmEpCgkJewoJCQljaW4+Pmk7CgkJfQoJCWludCBmaW49WyZdKCktPmludHsKCQkJaW50IGFucz0xOwoJCQlmb3IoaTY0IGk9MDtpPGEuc2l6ZSgpLTE7KytpKQoJCQl7CgkJCQlpZihhW2ldIT1hW2krMV0pCgkJCQl7CgkJCQkJYW5zKys7CgkJCQl9CgkJCX0KCQkJcmV0dXJuIGFuczsKCQl9KCk7CgkJdmVjdG9yPGludD5hbnM7CgkJd2hpbGUocS0tKQoJCXsKCQkJaTY0IHgseTsKCQkJY2luPj54Pj55OwoJCQl2ZWN0b3I8aW50PmNhY2hlPWE7CgkJCWFbeC0xXT15OwoJCQlpZih4IT0wJiZhW3gtMV09PWFbeC0yXSYmY2FjaGVbeC0xXSE9Y2FjaGVbeC0yXSkKCQkJewoJCQkJZmluLT0xOwoJCQkJLy8gY291dDw8ZmluPDwiXG4iOwoJCQl9CgkJCWlmKHghPW4mJmFbeC0xXT09YVt4XSYmY2FjaGVbeC0xXSE9Y2FjaGVbeF0pCgkJCXsKCQkJCWZpbi09MTsKCQkJCS8vIGNvdXQ8PGZpbjw8IlxuIjsKCQkJfQoJCQlpZih4IT0wJiZhW3gtMV0hPWFbeC0yXSYmY2FjaGVbeC0xXT09Y2FjaGVbeC0yXSkKCQkJewoJCQkJZmluKz0xOwoJCQkJLy8gY291dDw8ZmluPDwiXG4iOwoJCQl9CgkJCWlmKHghPW4mJmFbeC0xXSE9YVt4XSYmY2FjaGVbeC0xXT09Y2FjaGVbeF0pCgkJCXsKCQkJCWZpbis9MTsKCQkJCS8vIGNvdXQ8PGZpbjw8IlxuIjsKCQkJfQoJCQlhbnMucGIoZmluKTsKCQl9CgkJZm9yKGF1dG8gaTphbnMpCgkJewoJCQljb3V0PDxpPDwiXG4iOwoJCX0KCQljb3V0PDwiXG4iOwoJfQoJcmV0dXJuIDA7Cn0=