#include #define rep(i,n) for(int i=0;i<(n);i++) using namespace std; int main(){ int n,k; scanf("%d%d",&n,&k); vector p(n); iota(p.begin(),p.end(),0); rep(i,k){ int x; scanf("%d%*d",&x); x--; swap(p[x],p[x+1]); } vector g(n); rep(i,n) scanf("%d",&g[i]), g[i]--; vector ans; rep(i,n){ int t=find(g.begin(),g.end(),i)-g.begin(); int j=find(p.begin(),p.end(),t)-p.begin(); if(i<=j){ for(int k=j-1;k>=i;k--){ swap(p[k],p[k+1]); ans.emplace_back(k); } } else{ for(int k=j;k