奶牛舞会
时间限制:1秒 内存限制:256M
【题目描述】
约翰的 \(N\) 只奶牛非常兴奋,因为这是个舞会之夜!他们穿上礼服和新鞋子,别上鲜花,他们要表演圆舞曲。圆舞在一个圆形的水池上进行。奶牛们围在池边站好,顺时针顺序由 1 到 \(N\) 编号。每只奶牛都面对水池,这样她就能看到其他的每只奶牛。
为了跳这种圆舞,他们找了 \(M\) 条绳索。若干只奶牛的蹄子上握着绳索,绳索沿着顺时针方向绕过水池,另一端则捆在另一些奶牛的身上。这样,一些奶牛就可以牵引另一些奶牛。有的奶牛可能握有很多绳索,也有的奶牛可能一条绳索都没有。
对于一只奶牛,比如说贝茜,她的圆舞跳的是否成功,可以这样检验:沿着她牵引的绳索,找到她牵引的奶牛,沿着这只奶牛牵引的绳索,又找到一只被牵引的奶牛,如此下去,若最终能回到贝茜,则她的圆舞跳的成功,因为这一个环上的奶牛可以逆时针牵引而跳起旋转的圆舞。如果这样的检验无法完成,那她的圆舞是不成功的。
如果两只成功圆舞的奶牛有绳索相连接,那他们可以属于一个组合。给出每一条绳索的描述,请找出,成功跳了圆舞的奶牛有多少个组合?
【输入格式】
第一行输入 \(N\) 和 \(M\),接下来的 \(M\) 行,每行两个整数 \(A\) 和 \(B\),表示 \(A\) 牵引着 \(B\)。
【输出格式】
成功跳圆舞奶牛组合数据。
【输入输出样例】
Input
5 4
2 4
3 5
1 2
4 1
Output
1
【数据限制】
对于 \(100\%\) 的数据,\(1≤N≤10000\),\(1≤M≤50000\)。
【来源】
Mr.he