Problem1003--第三取暖素数裙邀请码【码虎】

1003: 第三取暖素数裙邀请码【码虎】

[Creator : ]
Time Limit : 2.000 sec  Memory Limit : 256 MB

Description

众所周知,一个合格的C++程序员,new之后必须记得delete。

作为一个不合格的C++程序员,Minori选择去写Java。

Minori非常喜欢用Java然后new出一大堆对象,那么根据八股文,new出来的对象在堆里,会由垃圾自动回收机制负责清理,不用再去思考delete的问题了。

但是Minori还是想知道,如果现在就执行垃圾回收,究竟能清理掉多少对象,又能剩下多少?

为了简化问题讨论,每个new的对象用数字1~N表示(特别地,数字0表示根对象)。本问题实际是在问,给定一张有向图,从节点0出发,有多少个点无法到达?

Input

第一行一个数字t,表示测试数据组数(1<=t<=10),接下来t组测试数据,每组都遵循下述格式:

第1行两个正整数:N M,N表示new对象的次数,M表示接下来有多少条可达链。

第2~M+1行,每行两个整数ui vi,表示由对象ui可以访问到对象vi。

(题目中所有输入均为非负整数,且最大不超过123456)

Output

t行输出,每行一个正整数,表示对于本组测试数据,可释放(不可达)对象的数量。

Sample Input Copy

3
10 4
0 2
2 3
3 5
2 4
5 5
0 1
1 2
2 3
3 4
4 5
200 7
0 2
0 3
3 4
2 4
100 101
101 102
102 100

Sample Output Copy

6
0
197

Source/Category