#include<bits/stdc++.h>
using namespace std;
const long long MAXN=3000001;
deque<long long> q;
long long f[MAXN];
long long w[MAXN];
long long n,m,tag;
int main()
{
cin>>n>>m;
for(long long i=1;i<=n;i++)
{
long long t;
cin>>t;
q.push_back(t);
}
for(long long i=1;i<=m;i++)
{
cin>>f[i];
}
sort(f+1,f+m+1);
tag=1;
for(long long i=1;i<n;i++)
{
long long a=q.front();
q.pop_front();
long long b=q.front();
q.pop_front();
if(i==f[tag])
{
cout<<a<<" "<<b<<endl;
tag++;
}
if(a>b)
{
q.push_front(a);
q.push_back(b);
}
else
{
q.push_front(b);
q.push_back(a);
}
}
for(long long i=1;i<=n;i++)
{
long long t=q.front();
q.pop_front();
w[i]=t;
}
long long x[MAXN];
x[0]=n;
for(long long i=1;i<n;i++)
{
x[i]=i+1;
}
for(long long i=tag;i<=m;i++)
{
cout<<w[1]<<" "<<w[ x[f[i]%(n-1)] ]<<endl;
// if(f[i]%(n-1)==0)
// {
// cout<<w[1]<<" "<<w[n]<<endl;
// }
// else
// {
// cout<<w[1]<<" "<<w[f[i]%(n-1)+1]<<endl;
// }
}
return 0;
}
/*
5 10
1 2 3 4 5
1 2 3 4 5 6 7 8 9 10
*/