#include<stdio.h>
#include<vector>
# include<algorithm>
using namespace std;
#define limit 1000009
vector<int> sieve[limit];
vector<int> b[limit],freq[limit];
vector<vector<int> >cc[limit];
int a[limit];
int main()
{
int i,j,k,c,G,x,y,m,n;
//prime factorisation
for(i=2;i*i<limit;i++)
if(sieve[i].size()==0)
for(j=i;j<limit;j+=i)
sieve[j].push_back(i);
//done
scanf("%d %d",&n,&m);
for(i=1;i<=n;i++)
{
scanf("%d",&c);
a[i]=c;
freq[c].push_back(i);
int sz=sieve[c].size();
for(k=0;k<sz;k++)
{
b[sieve[a[i]][k]].push_back(i);
while(c%sieve[a[i]][k]==0)c=c/sieve[a[i]][k];
}
if(c>1)b[c].push_back(i);
}
//implementing RMQ
for(i=0;i<limit;i++)
{
int sz=b[i].size();
if(!sz)continue;
int level=0;
cc[i].resize(sz);
for(j=0;j<sz;j++)cc[i][j].push_back(b[i][j]);//level 0
for(level=1;(1<<level)<=sz;level++)
{
for(j=0;j+(1<<level)<=sz;j++)
{
int c1=cc[i][j][level-1];
int c2=cc[i][j+(1<<(level-1))][level-1];
int mx=(a[c1]<a[c2])?c2:c1;
cc[i][j].push_back(mx);
}
}
}
//RMQ vector 'cc' has been made
for(i=1;i<=m;i++)
{
scanf("%d %d %d",&G,&x,&y);
int maxx=-1,ct=-1,factor,mct=-1;
c=G;
int sz=sieve[c].size();
for(k=0;k<=sz;k++)
{ //it would run for all the prime factors of G
ct=-1;
if(k==sz)
{
if(c>1)factor=c;
else continue;
}
else factor=sieve[G][k];
if(k!=sz)while(c%sieve[G][k]==0)c=c/sieve[G][k];
int sz2=b[factor].size();
if(!sz2)continue;
//find ans using RMQ
int lb,ub;
lb=lower_bound(b[factor].begin(),b[factor].end(),x)-b[factor].begin();
ub=upper_bound(b[factor].begin(),b[factor].end(),y)-b[factor].begin();
if(lb>=ub)break;
ub--;
int xxx=0;
while(lb+(1<<xxx)-1<ub)xxx++;
if(lb+(1<<xxx)-1>ub)xxx--;
int c11=cc[factor][lb][xxx];
int c22=cc[factor][ub-(1<<xxx)+1][xxx];
ct=(a[c11]<a[c22])?c22:c11;
//RMQ has given the index in 'ct'
if(mct==-1)mct=ct;
else
if(ct!=-1)
if(a[ct]>a[mct])mct=ct;
}
if(mct!=-1)
{
//getting the Frequency
int lb,ub;
int a2,ff=a[mct];
lb=lower_bound(freq[ff].begin(),freq[ff].end(),x)-freq[ff].begin();
ub=upper_bound(freq[ff].begin(),freq[ff].end(),y)-freq[ff].begin();
printf("%d %d\n",a[mct],ub-lb);
}
else printf("-1 -1\n");
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8dmVjdG9yPgojIGluY2x1ZGU8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIGxpbWl0IDEwMDAwMDkKdmVjdG9yPGludD4gc2lldmVbbGltaXRdOwp2ZWN0b3I8aW50PiBiW2xpbWl0XSxmcmVxW2xpbWl0XTsKdmVjdG9yPHZlY3RvcjxpbnQ+ID5jY1tsaW1pdF07CmludCBhW2xpbWl0XTsKaW50IG1haW4oKQp7CiAgICBpbnQgaSxqLGssYyxHLHgseSxtLG47CiAgICAvL3ByaW1lIGZhY3RvcmlzYXRpb24KICAgIGZvcihpPTI7aSppPGxpbWl0O2krKykKICAgICAgICBpZihzaWV2ZVtpXS5zaXplKCk9PTApCiAgICAgICAgICAgIGZvcihqPWk7ajxsaW1pdDtqKz1pKQogICAgICAgICAgICAgICAgc2lldmVbal0ucHVzaF9iYWNrKGkpOwogICAgLy9kb25lCiAgICBzY2FuZigiJWQgJWQiLCZuLCZtKTsKICAgIGZvcihpPTE7aTw9bjtpKyspCiAgICB7CiAgICAgICAgc2NhbmYoIiVkIiwmYyk7CiAgICAgICAgYVtpXT1jOwogICAgICAgIGZyZXFbY10ucHVzaF9iYWNrKGkpOwogICAgICAgIGludCBzej1zaWV2ZVtjXS5zaXplKCk7CiAgICAgICAgZm9yKGs9MDtrPHN6O2srKykKICAgICAgICB7CiAgICAgICAgICAgIGJbc2lldmVbYVtpXV1ba11dLnB1c2hfYmFjayhpKTsKICAgICAgICAgICAgd2hpbGUoYyVzaWV2ZVthW2ldXVtrXT09MCljPWMvc2lldmVbYVtpXV1ba107CiAgICAgICAgfQogICAgICAgIGlmKGM+MSliW2NdLnB1c2hfYmFjayhpKTsKICAgIH0KICAgIC8vaW1wbGVtZW50aW5nIFJNUQogICAgICAgIGZvcihpPTA7aTxsaW1pdDtpKyspCiAgICAgICAgewogICAgICAgIAlpbnQgc3o9YltpXS5zaXplKCk7CiAgICAgICAgCWlmKCFzeiljb250aW51ZTsKICAgICAgICAJaW50IGxldmVsPTA7CiAgICAgICAgCWNjW2ldLnJlc2l6ZShzeik7CiAgICAgICAgCWZvcihqPTA7ajxzejtqKyspY2NbaV1bal0ucHVzaF9iYWNrKGJbaV1bal0pOy8vbGV2ZWwgMAogICAgICAgIAlmb3IobGV2ZWw9MTsoMTw8bGV2ZWwpPD1zejtsZXZlbCsrKQogICAgICAgIAl7CiAgICAgICAgICAgIAlmb3Ioaj0wO2orKDE8PGxldmVsKTw9c3o7aisrKQogICAgICAgICAgICAJewogICAgICAgICAgICAJIGludCBjMT1jY1tpXVtqXVtsZXZlbC0xXTsKICAgICAgICAgICAgCSBpbnQgYzI9Y2NbaV1baisoMTw8KGxldmVsLTEpKV1bbGV2ZWwtMV07CiAgICAgICAgICAgIAkgaW50IG14PShhW2MxXTxhW2MyXSk/YzI6YzE7CiAgICAgICAgICAgIAkgY2NbaV1bal0ucHVzaF9iYWNrKG14KTsKICAgICAgICAJIAl9CiAgICAgICAgCX0KCX0KCS8vUk1RIHZlY3RvciAnY2MnIGhhcyBiZWVuIG1hZGUgCmZvcihpPTE7aTw9bTtpKyspCiAgICB7CiAgICAgICAgc2NhbmYoIiVkICVkICVkIiwmRywmeCwmeSk7CiAgICAgICAgaW50IG1heHg9LTEsY3Q9LTEsZmFjdG9yLG1jdD0tMTsKICAgICAgICBjPUc7CiAgICAgICAgaW50IHN6PXNpZXZlW2NdLnNpemUoKTsKICAgICAgICBmb3Ioaz0wO2s8PXN6O2srKykKICAgICAgICB7ICAgLy9pdCB3b3VsZCBydW4gZm9yIGFsbCB0aGUgcHJpbWUgZmFjdG9ycyBvZiBHCiAgICAgICAgICAgIGN0PS0xOwogICAgICAgICAgICBpZihrPT1zeikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYoYz4xKWZhY3Rvcj1jOwogICAgICAgICAgICAgICAgZWxzZSBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGZhY3Rvcj1zaWV2ZVtHXVtrXTsKICAgICAgICAgICAgaWYoayE9c3opd2hpbGUoYyVzaWV2ZVtHXVtrXT09MCljPWMvc2lldmVbR11ba107CiAgICAgICAgICAgIGludCBzejI9YltmYWN0b3JdLnNpemUoKTsKICAgICAgICAgICAgaWYoIXN6Miljb250aW51ZTsKICAgICAgICAgICAgLy9maW5kIGFucyB1c2luZyBSTVEKICAgICAgICAgICAgCWludCBsYix1YjsKICAgICAgICAgICAgCWxiPWxvd2VyX2JvdW5kKGJbZmFjdG9yXS5iZWdpbigpLGJbZmFjdG9yXS5lbmQoKSx4KS1iW2ZhY3Rvcl0uYmVnaW4oKTsKICAgICAgICAgICAgCXViPXVwcGVyX2JvdW5kKGJbZmFjdG9yXS5iZWdpbigpLGJbZmFjdG9yXS5lbmQoKSx5KS1iW2ZhY3Rvcl0uYmVnaW4oKTsKICAgICAgICAgICAgCWlmKGxiPj11YilicmVhazsKICAgICAgICAgICAgCXViLS07CiAgICAgICAgICAgIAlpbnQgeHh4PTA7CiAgICAgICAgICAgIAl3aGlsZShsYisoMTw8eHh4KS0xPHViKXh4eCsrOwogICAgICAgICAgICAJaWYobGIrKDE8PHh4eCktMT51Yil4eHgtLTsKICAgICAgICAgICAgCWludCBjMTE9Y2NbZmFjdG9yXVtsYl1beHh4XTsKICAgICAgICAgICAgCWludCBjMjI9Y2NbZmFjdG9yXVt1Yi0oMTw8eHh4KSsxXVt4eHhdOwogICAgICAgICAgICAJY3Q9KGFbYzExXTxhW2MyMl0pP2MyMjpjMTE7CiAgICAgICAgICAgIC8vUk1RIGhhcyBnaXZlbiB0aGUgaW5kZXggaW4gJ2N0JwogICAgICAgICAgICBpZihtY3Q9PS0xKW1jdD1jdDsKCQkJZWxzZQoJCQlpZihjdCE9LTEpCgkJCWlmKGFbY3RdPmFbbWN0XSltY3Q9Y3Q7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYobWN0IT0tMSkKICAgICAgICB7CiAgICAgICAgLy9nZXR0aW5nIHRoZSBGcmVxdWVuY3kKICAgICAgICAgICAgaW50IGxiLHViOwogICAgICAgICAgICBpbnQgYTIsZmY9YVttY3RdOwogICAgICAgICAgICBsYj1sb3dlcl9ib3VuZChmcmVxW2ZmXS5iZWdpbigpLGZyZXFbZmZdLmVuZCgpLHgpLWZyZXFbZmZdLmJlZ2luKCk7CiAgICAgICAgICAgIHViPXVwcGVyX2JvdW5kKGZyZXFbZmZdLmJlZ2luKCksZnJlcVtmZl0uZW5kKCkseSktZnJlcVtmZl0uYmVnaW4oKTsKICAgICAgICAgICAgcHJpbnRmKCIlZCAlZFxuIixhW21jdF0sdWItbGIpOwogICAgICAgIH0KICAgICAgICBlbHNlIHByaW50ZigiLTEgLTFcbiIpOwogICAgfQogICAgcmV0dXJuIDA7Cn0=