#include using namespace std; #define rep(i,N) for(int i=0;i>N; vector ab(N,0),ans(N,0),vis(N,0); vector> edgelist(N); rep(i,N){ cin>>a>>b; edgelist[--a].emplace(i); edgelist[--b].emplace(i); ab[i]=a^b; } queue que; rep(i,N)if(edgelist[i].size()==1)que.emplace(i); do{ while(!que.empty()){ a=que.front();que.pop(); if(edgelist[a].size()==0){ puts("No"); return 0; } i=*edgelist[a].begin(); edgelist[a].erase(edgelist[a].begin()); vis[a]=1; ans[i]=a+1; b=ab[i]^a; edgelist[b].erase(i); if(edgelist[b].size()==1)que.emplace(b); } while(j