#include #include #include #include using namespace std; typedef long long lint; typedef vectorvi; typedef pairpii; #define rep(i,n)for(int i=0;i<(int)(n);++i) #define DEBUG 0 #define M 214514 int n,m,q; int a[M],b[M]; vi tu[M]; vi mv[M]; vi lo[M]; void stop(void){ cout<<"NO"<=0;i--)uu[i]=max(uu[i],uu[i+1]-1); if(fstn)stop(); } int main(){ cin>>n>>m; rep(i,m)cin>>a[i]; cin>>q; rep(i,q)cin>>b[i]; //assert assert(1<=n&&n<=1000000); assert(1<=m&&m<=n&&n<=200000); rep(i,m-1)assert(a[i]=(int)tu[i].size()?q:tu[i][j]; if(i>0){ now=lower_bound(tu[i-1].begin(),tu[i-1].end(),now)-tu[i-1].begin(); nxt=lower_bound(tu[i-1].begin(),tu[i-1].end(),nxt)-tu[i-1].begin(); int ma=0; for(int k=now;k<=nxt;k++)ma=max(ma,mv[i-1][k]); lo[i].push_back(ma+1); }else{ lo[i].push_back(1); } } if(DEBUG){ cerr<=(int)tu[i].size()?q:tu[i][j+1]; int pre; if(i==0)pre=0; else{ int it=lower_bound(tu[i-1].begin(),tu[i-1].end(),t)-tu[i-1].begin(); int nxt_it=lower_bound(tu[i-1].begin(),tu[i-1].end(),nxt)-tu[i-1].begin(); pre=mv[i-1][it]; if(it+1=p){ cout<<"NO"<=tu[i].size())break; mv[i].push_back(pren){ cout<<"NO"<