// #include <bits/stdc++.h>
// using namespace std;
// #define ll int
// const ll MAX = 100004;
// const ll MAX1 =100005;
// ll tree[MAX], p[MAX1], ans[MAX], a[MAX];
// pair <int, pair<int, int> > pr[MAX];
// void update(ll idx, ll val)
// {
// while(idx < MAX)
// {
// tree[idx] += val;
// idx += (idx & -idx);
// }
// }
// ll read(ll idx)
// {
// ll sum = 0;
// while(idx > 0)
// {
// sum += tree[idx];
// idx -= (idx & -idx);
// }
// return sum;
// }
// int main()
// {
// ios_base::sync_with_stdio(false);
// cin.tie(NULL);
// ll t;
// scanf("%d",&t);
// ll k=1;
// while(t--)
// {
// ll n, q, x;
// scanf("%d%d", &n,&q);
// for(ll i = 1;i <= n;++i)
// scanf("%d", &a[i]);
// //scanf("%d", &q);
// for(ll i = 0;i < q;++i)
// {
// scanf("%d %d", &pr[i].second.first, &pr[i].first);
// pr[i].second.second = i;
// }
// sort(pr, pr + q);
// memset(p, -1, sizeof(p));
// memset(tree, 0, sizeof(tree));
// x = 0;
// for(ll i = 1;i <= n;++i)
// {
// if(p[a[i]] != -1)
// update(p[a[i]], -1);
// p[a[i]] = i;
// update(i, 1);
// while(x < q and pr[x].first == i)
// {
// ans[pr[x].second.second] = read(pr[x].first) - read(pr[x].second.first-1);
// x++;
// }
// }
// printf("Case %d:\n",k);
// for(ll i = 0;i < q;++i)
// printf("%d\n", ans[i]);
// k++;
// }
// return 0;
// }
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int a[100005];
int b[100005];
int n,q,i,t,r,l,j;
scanf("%d",&t);
for(j = 1; j <= t; j++)
{
scanf("%d%d",&n,&q);
a[0] = -1;
memset(b,0,sizeof(b));
for(i = 1; i <= n; i++)
{
scanf("%d",&a[i]);
if(a[i] == a[i-1])
{
b[i] = b[i-1];
}
else if(a[i] != a[i-1])
{
b[i] = b[i-1] + 1;
}
}
printf("Case %d:\n",j);
while(q--)
{
scanf("%d%d",&l,&r);
printf("%d\n",b[r]-b[l]+1);
}
}
return 0;
}
Ly8gI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Ci8vIHVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci8vICNkZWZpbmUgbGwgaW50Ci8vIGNvbnN0IGxsIE1BWCA9IDEwMDAwNDsKLy8gY29uc3QgbGwgTUFYMSA9MTAwMDA1OwovLyBsbCB0cmVlW01BWF0sIHBbTUFYMV0sIGFuc1tNQVhdLCBhW01BWF07Ci8vIHBhaXIgPGludCwgcGFpcjxpbnQsIGludD4gPiBwcltNQVhdOwoKCi8vIHZvaWQgdXBkYXRlKGxsIGlkeCwgbGwgdmFsKQovLyB7Ci8vICAgICB3aGlsZShpZHggPCBNQVgpCi8vICAgICB7Ci8vICAgICAgICAgdHJlZVtpZHhdICs9IHZhbDsKLy8gICAgICAgICBpZHggKz0gKGlkeCAmIC1pZHgpOwovLyAgICAgfQovLyB9CgovLyBsbCByZWFkKGxsIGlkeCkKLy8gewovLyAgICAgbGwgc3VtID0gMDsKLy8gICAgIHdoaWxlKGlkeCA+IDApCi8vICAgICB7Ci8vICAgICAgICAgc3VtICs9IHRyZWVbaWR4XTsKLy8gICAgICAgICBpZHggLT0gKGlkeCAmIC1pZHgpOwovLyAgICAgfQovLyAgICAgcmV0dXJuIHN1bTsKLy8gfQoKLy8gaW50IG1haW4oKQovLyB7Ci8vIAlpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKLy8gCWNpbi50aWUoTlVMTCk7Ci8vIAlsbCB0OwovLyAJc2NhbmYoIiVkIiwmdCk7Ci8vIAlsbCBrPTE7Ci8vIAl3aGlsZSh0LS0pCi8vIAl7Ci8vIAlsbCBuLCBxLCB4OwovLyAgICAgc2NhbmYoIiVkJWQiLCAmbiwmcSk7Ci8vICAgICBmb3IobGwgaSA9IDE7aSA8PSBuOysraSkKLy8gICAgICAgICBzY2FuZigiJWQiLCAmYVtpXSk7Ci8vICAgICAvL3NjYW5mKCIlZCIsICZxKTsKLy8gICAgIGZvcihsbCBpID0gMDtpIDwgcTsrK2kpCi8vICAgICB7Ci8vICAgICAgICAgc2NhbmYoIiVkICVkIiwgJnByW2ldLnNlY29uZC5maXJzdCwgJnByW2ldLmZpcnN0KTsKLy8gICAgICAgICBwcltpXS5zZWNvbmQuc2Vjb25kID0gaTsKLy8gICAgIH0KLy8gICAgIHNvcnQocHIsIHByICsgcSk7Ci8vICAgICBtZW1zZXQocCwgLTEsIHNpemVvZihwKSk7Ci8vICAgICBtZW1zZXQodHJlZSwgMCwgc2l6ZW9mKHRyZWUpKTsKLy8gICAgIHggPSAwOwovLyAgICAgZm9yKGxsIGkgPSAxO2kgPD0gbjsrK2kpCi8vICAgICB7Ci8vICAgICAgICAgaWYocFthW2ldXSAhPSAtMSkKLy8gICAgICAgICAgICAgdXBkYXRlKHBbYVtpXV0sIC0xKTsKICAgICAgICAgICAgCi8vICAgICAgICAgcFthW2ldXSA9IGk7Ci8vICAgICAgICAgdXBkYXRlKGksIDEpOwogICAgICAgIAovLyAgICAgICAgIHdoaWxlKHggPCBxIGFuZCBwclt4XS5maXJzdCA9PSBpKQovLyAgICAgICAgIHsKLy8gICAgICAgICAgICAgYW5zW3ByW3hdLnNlY29uZC5zZWNvbmRdID0gcmVhZChwclt4XS5maXJzdCkgLSByZWFkKHByW3hdLnNlY29uZC5maXJzdC0xKTsKLy8gICAgICAgICAgICAgeCsrOwovLyAgICAgICAgIH0KLy8gICAgIH0KLy8gICAgIHByaW50ZigiQ2FzZSAlZDpcbiIsayk7Ci8vICAgICBmb3IobGwgaSA9IDA7aSA8IHE7KytpKQovLyAgICAgICAgIHByaW50ZigiJWRcbiIsIGFuc1tpXSk7Ci8vICAgICBrKys7ICAgIAovLyAJfQovLyAgICAgcmV0dXJuIDA7Ci8vIH0KCiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgbWFpbigpCnsKCQppb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoTlVMTCk7CQogICAgaW50IGFbMTAwMDA1XTsKICAgIGludCBiWzEwMDAwNV07CiAgICBpbnQgbixxLGksdCxyLGwsajsKICAgIHNjYW5mKCIlZCIsJnQpOwogICAgZm9yKGogPSAxOyBqIDw9IHQ7IGorKykgCiAgICB7CiAgICAgICAgc2NhbmYoIiVkJWQiLCZuLCZxKTsKICAgICAgICBhWzBdID0gLTE7CiAgICAgICAgbWVtc2V0KGIsMCxzaXplb2YoYikpOwogICAgICAgIGZvcihpID0gMTsgaSA8PSBuOyBpKyspIAogICAgICAgIHsKICAgICAgICAgICAgc2NhbmYoIiVkIiwmYVtpXSk7CiAgICAgICAgICAgIGlmKGFbaV0gPT0gYVtpLTFdKSAKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgYltpXSA9IGJbaS0xXTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGlmKGFbaV0gIT0gYVtpLTFdKSAKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgYltpXSA9IGJbaS0xXSArIDE7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcHJpbnRmKCJDYXNlICVkOlxuIixqKTsKCiAgICAgICAgd2hpbGUocS0tKSAKICAgICAgICB7CiAgICAgICAgICAgIHNjYW5mKCIlZCVkIiwmbCwmcik7CiAgICAgICAgICAgIHByaW50ZigiJWRcbiIsYltyXS1iW2xdKzEpOwogICAgICAgIH0KICAgIH0KICAgcmV0dXJuIDA7Cn0=