#include <algorithm>
#include <iostream>
#include <stdio.h>
using namespace std;
long int a[100000], c[100000];
int main()
{
long int t;
scanf("\n%ld", &t);
long int i, n[t];
for(i=1; i <= t; i++)
{
long int q;
scanf("%ld%ld", &n[i], &q);
long int j;
for(j=1; j <= n[i]; j++)
{
scanf("%ld", &a[j]);
}
long l, r;
for(j=1; j <= q; j++)
{
long int p, count=1;
scanf("%ld%ld", &l, &r);
for(p=1; p <= n[i]; p++)
{
if(p<l || p>r)
{
c[count]=a[p];
count++;
}
}
long int q, remainder=1, temp;
sort(c+1, c+count);
for(p=1, q=2; q<count; p++, q++)
{
while(remainder != 0) //Finding the GCD by Euclidean Theorem.
{
remainder=c[q]%c[p];
c[q]=c[p];
c[p]=remainder;
}
}
if(count == 2) //If we have only one element in the range then the only element will be
//the gcd.
printf("%ld\n", c[1]);
else
printf("%ld\n", c[q-1]); //As q is q++ after the for loop so q-1 and c[q-1]
//due to Euclidean Theorem
}
}
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RkaW8uaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKbG9uZyBpbnQgYVsxMDAwMDBdLCBjWzEwMDAwMF07CmludCBtYWluKCkKewoJbG9uZyBpbnQgdDsKCXNjYW5mKCJcbiVsZCIsICZ0KTsKCWxvbmcgaW50IGksIG5bdF07Cglmb3IoaT0xOyBpIDw9IHQ7IGkrKykKCXsKCQlsb25nIGludCBxOwoJCXNjYW5mKCIlbGQlbGQiLCAmbltpXSwgJnEpOwoJCWxvbmcgaW50IGo7CgkJZm9yKGo9MTsgaiA8PSBuW2ldOyBqKyspCgkJewoJCQlzY2FuZigiJWxkIiwgJmFbal0pOwoJCX0KCQlsb25nIGwsIHI7CgkJZm9yKGo9MTsgaiA8PSBxOyBqKyspCgkJewoJCQlsb25nIGludCBwLCBjb3VudD0xOwoJCQlzY2FuZigiJWxkJWxkIiwgJmwsICZyKTsKCQkJZm9yKHA9MTsgcCA8PSBuW2ldOyBwKyspCgkJCXsKCQkJCWlmKHA8bCB8fCBwPnIpCgkJCQl7CgkJCQkJY1tjb3VudF09YVtwXTsKCQkJCQljb3VudCsrOwoJCQkJfQoJCQl9CgkJCWxvbmcgaW50IHEsIHJlbWFpbmRlcj0xLCB0ZW1wOwoJCQlzb3J0KGMrMSwgYytjb3VudCk7CgkJCWZvcihwPTEsIHE9MjsgcTxjb3VudDsgcCsrLCBxKyspCgkJCXsKCQkJCXdoaWxlKHJlbWFpbmRlciAhPSAwKQkvL0ZpbmRpbmcgdGhlIEdDRCBieSBFdWNsaWRlYW4gVGhlb3JlbS4KCQkJCXsKCQkJCQlyZW1haW5kZXI9Y1txXSVjW3BdOwoJCQkJCWNbcV09Y1twXTsKCQkJCQljW3BdPXJlbWFpbmRlcjsKCQkJCX0KCQkJfQoJCQlpZihjb3VudCA9PSAyKQkvL0lmIHdlIGhhdmUgb25seSBvbmUgZWxlbWVudCBpbiB0aGUgcmFuZ2UgdGhlbiB0aGUgb25seSBlbGVtZW50IHdpbGwgYmUKCQkJCQkJCS8vdGhlIGdjZC4KCQkJcHJpbnRmKCIlbGRcbiIsIGNbMV0pOwoJCQllbHNlCgkJCQlwcmludGYoIiVsZFxuIiwgY1txLTFdKTsJLy9BcyBxIGlzIHErKyBhZnRlciB0aGUgZm9yIGxvb3Agc28gcS0xIGFuZCBjW3EtMV0KCQkJCQkJCQkJCQkvL2R1ZSB0byBFdWNsaWRlYW4gVGhlb3JlbQoJCX0KCX0KfQ==