#include using namespace std; #include using namespace atcoder; using ll=long long; using Graph=vector>; #define MAX 3000 //#define MOD 1000000007 #define MOD 998244353 #define INF 1000000000 //#define INF 1000000000000000000 int main(){ int N; cin>>N; vector X(N); vector A(N); for(int i=0;i>X[i]; } for(int i=0;i>A[i]; } vector nums; for(int i=0;i D(n,0); for(int i=0;i=0;i--){ if(D[i]>i){ continue; } queue q; q.push(i); while(!q.empty()){ int v=q.front(); q.pop(); for(int nv:G[v]){ if(D[nv]