#include using namespace std; const int msize=200001; int getroot(int n,vector &root){ if(root[n]==-1)return n; else return root[n]=getroot(root[n],root); } int main(){ int N; cin>>N; vectorcnt(msize); vector>V(msize); vector>E(N); for(int i=0;i>E[i][0]>>E[i][1]; cnt[E[i][0]]++,cnt[E[i][1]]--; V[E[i][0]].insert(E[i][1]); } vectorroot(msize,-1); bool ans=0; for(int i=0;icheck; check.insert(-1); for(int i=0;i2){ cout<<"0\n"; return 0; } sort(cnt.begin(),cnt.end()); if(cnt[0]==0&&cnt[msize-1]==0){ set>ans; for(int i=0;i