#line 1 "a.cpp" #include #include using namespace std; #line 2 "/home/kotatsugame/library/datastructure/UF.cpp" struct UF{ int n; vectorparent,rank; UF(int n_=0):n(n_),parent(n_),rank(n_,1) { for(int i=0;i>N>>M; UF uf(M); vector >G(N); for(int i=0;i>b>>c; G[c-1].push_back(b-1); } int ans=0; for(vector&v:G) { for(int i=1;i