#include #include #include using namespace atcoder; using mint = modint998244353; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf 1000000000000000 int main(){ int N; cin>>N; vector A(N),B(N); mf_graph G(2*N+2); int S = N*2,T = N*2+1; vector a(N),b(N); rep(i,N){ cin>>A[i]>>B[i]; A[i]--;B[i]--; a[i] = G.add_edge(i,N+A[i],1); b[i] = G.add_edge(i,N+B[i],1); G.add_edge(S,i,1); G.add_edge(N+i,T,1); } if(G.flow(S,T)!=N){ cout<<"No"< ans(N); rep(i,N){ if(G.get_edge(a[i]).flow)ans[i] = 0; else ans[i] = 1; } rep(i,N){ if(ans[i]==0)cout<