#include #include #include #include #include #include #include #include #include #include #define mkp make_pair #define mkt make_tuple #define rep(i,n) for(int i = 0; i < (n); ++i) using namespace std; typedef long long ll; const ll MOD=1e9+7; vector g[401*401]; int ind[401*401]; int main(){ int H,W; cin>>H>>W; vector A(H),B(W); rep(i,H) cin>>A[i]; rep(i,W) cin>>B[i]; sort(A.begin(),A.end()); sort(B.begin(),B.end()); for(int i=0;i Q; for(int i=0;i ans(H*W,0); while(!Q.empty()){ int tp=Q.front(); Q.pop(); ans[tp]=val++; for(auto nex:g[tp]){ ind[nex]--; if(ind[nex]==0) Q.push(nex); } } for(int i=0;i