#include using namespace std; #include #include struct bridge{ vectorord,low; vectorart; vector >bridges; vector >G; bridge(int n_=0):ord(n_,-1),low(n_),art(n_,false),G(n_){} void add_edge(int u,int v) { G[u].push_back(v); G[v].push_back(u); } bool operator[](int a)const{return art[a];} bool is_bridge(int a,int b)const { if(ord[a]>ord[b])swap(a,b); return ord[a]=2)art[0]=true; } }; int N; int u[1<<17],v[1<<17]; main() { cin>>N; bridge P(N); for(int i=0;i>u[i]>>v[i]; u[i]--,v[i]--; P.add_edge(u[i],v[i]); } P.build(); vectorans; for(int i=0;i