#include<bits/stdc++.h>
using namespace std;
#define mx 100005
int arr[mx];
int tree[mx*3];
void init(int node,int b,int e)
{
if (b==e) {
tree[node]=arr[b];
return;
}
int Left=node*2;
int Right=node*2+1;
int mid =(b+e)/2;
init(Left,b,mid);
init(Right,mid+1,e);
tree[node]=min(tree[Left],tree[Right]);
}
int query(int node, int b, int e, int i, int j)
{
if (i > e || j < b)
return mx; //Out of range
if (b >= i && e <= j)
return tree[node]; //Relevant Segment
int Left = node * 2; //need to split
int Right = node * 2 + 1;
int mid = (b + e) / 2;
int p1 = query(Left, b, mid, i, j);
int p2 = query(Right, mid + 1, e, i, j);
return min(p1,p2); //sum of left and right side
}
int main()
{
int n,q,x,y,tc,cs=0;
scanf("%d",&tc);
while(tc--){
scanf("%d%d",&n,&q);
for(int i=1;i<=n;i++) scanf("%d",&arr[i]);
init(1,1,n);
printf("Case %d:\n",++cs);
while(q--){
scanf("%d%d",&x,&y);
printf("%d\n",query(1,1,n,x,y));
}
}
return 0;
}
/*
7 3
4 -9 3 7 1 0 2
*/
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBteCAxMDAwMDUKaW50IGFycltteF07CmludCB0cmVlW214KjNdOwoKdm9pZCBpbml0KGludCBub2RlLGludCBiLGludCBlKQp7CiAgICBpZiAoYj09ZSkgewogICAgICAgIHRyZWVbbm9kZV09YXJyW2JdOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGludCBMZWZ0PW5vZGUqMjsKICAgIGludCBSaWdodD1ub2RlKjIrMTsKICAgIGludCBtaWQgPShiK2UpLzI7CiAgICBpbml0KExlZnQsYixtaWQpOwogICAgaW5pdChSaWdodCxtaWQrMSxlKTsKICAgIHRyZWVbbm9kZV09bWluKHRyZWVbTGVmdF0sdHJlZVtSaWdodF0pOwp9CgppbnQgcXVlcnkoaW50IG5vZGUsIGludCBiLCBpbnQgZSwgaW50IGksIGludCBqKQp7CiAgICBpZiAoaSA+IGUgfHwgaiA8IGIpCiAgICAgICAgcmV0dXJuIG14OyAvL091dCBvZiByYW5nZQogICAgaWYgKGIgPj0gaSAmJiBlIDw9IGopCiAgICAgICAgcmV0dXJuIHRyZWVbbm9kZV07IC8vUmVsZXZhbnQgU2VnbWVudAogICAgaW50IExlZnQgPSBub2RlICogMjsgLy9uZWVkIHRvIHNwbGl0CiAgICBpbnQgUmlnaHQgPSBub2RlICogMiArIDE7CiAgICBpbnQgbWlkID0gKGIgKyBlKSAvIDI7CiAgICBpbnQgcDEgPSBxdWVyeShMZWZ0LCBiLCBtaWQsIGksIGopOwogICAgaW50IHAyID0gcXVlcnkoUmlnaHQsIG1pZCArIDEsIGUsIGksIGopOwogICAgcmV0dXJuIG1pbihwMSxwMik7IC8vc3VtIG9mIGxlZnQgYW5kIHJpZ2h0IHNpZGUKfQoKaW50IG1haW4oKQp7CiAgICBpbnQgbixxLHgseSx0Yyxjcz0wOwogICAgc2NhbmYoIiVkIiwmdGMpOwogICAgd2hpbGUodGMtLSl7CiAgICBzY2FuZigiJWQlZCIsJm4sJnEpOwogICAgZm9yKGludCBpPTE7aTw9bjtpKyspIHNjYW5mKCIlZCIsJmFycltpXSk7CiAgICBpbml0KDEsMSxuKTsKICAgIHByaW50ZigiQ2FzZSAlZDpcbiIsKytjcyk7CiAgICB3aGlsZShxLS0pewogICAgICAgIHNjYW5mKCIlZCVkIiwmeCwmeSk7CiAgICAgICAgcHJpbnRmKCIlZFxuIixxdWVyeSgxLDEsbix4LHkpKTsKICAgIH0KICAgIH0KICAgIHJldHVybiAwOwp9CgovKgo3IDMKNCAtOSAzIDcgMSAwIDIKKi8K