ll@n,@m,u[m],v[],w[n+1]{},s[n+1]{},t[n+1]{},z=-1; rd((u,v)(m)); unionFind f('m',n+1,1); rep(i,m){ f(u[i],v[i]); w[u[i]]+=1; w[v[i]]-=1; s[u[i]]=1; s[v[i]]=1; } rep(j,1,n+1){ if(w[j]>0){ t[f(j)]+=w[j]; } } rep(j,1,n+1){ if(j==f(j)){ z+=max(s[j],t[j]); } } wt(z);