#include using namespace std; #define int long long struct Node{ int k,x,q; // bool isdone; }; const int MAX_N=5e5+5; int n,q; int a[MAX_N],/*x[MAX_N],k[MAX_N],*/ans[MAX_N],xdir[MAX_N]; Node nodes[MAX_N]; int pn=0,p1=1; int readint(); signed main(signed argc,char *argv[]){ n=readint(); for(int i=1;i<=n;i++){ a[i]=readint(); xdir[a[i]]=i; } q=readint(); for(int i=1;i<=q;i++){ int k = readint(),x=readint(); // k[i]=readint(); // x[i]=readint(); nodes[++pn]={k,x,i}; } sort(nodes+1,nodes+pn+1,[](Node a,Node b)->bool{ return a.ka[j+1]){ xdir[a[j]]=j+1; xdir[a[j+1]]=j; swap(a[j],a[j+1]); } } if(p1==pn){ break; } while(p1!=pn&&nodes[p1].k==i){ auto &now = nodes[p1++]; ans[now.q]=xdir[now.x]; } } for(int i=1;i<=q;i++){ cout<