Description
NSOI有若干台电脑,某些电脑之间是用网线连接起来的。但是这个网线很奇怪,它只能沿一个方向传输信息,不能反向传输。两台电脑传递信息可以经过其他的电脑。两台电脑a和b可以安全通信,必须有a可以向b传递信息,且b可以向a传递信息。
我们需要把NSOI的电脑分成若干个工作组,使得每个工作组中任意的两台电脑都可以安全通信。现在,你需要求出最少的工作组数量。当然,一台电脑可以单独地放在一个工作组中。
Input
第一行一个正整数T,表示数据的组数。接下来的数据分为T个部分。
每个部分的第一行是两个正整数n和m,表示NSOI的电脑数量和网线的数量。接下来m行,每行两个正整数a和b,表示a和b之间有一条可以从a向b传输信息的网线。
Output
输出T行,每行对应一个正整数,表示对应数据的最少工作组数量。
Sample Input
2
4 4
1 2
2 3
3 4
4 2
9 16
1 1
1 2
1 2
2 1
2 3
2 4
4 3
3 5
5 3
4 6
6 7
7 4
6 5
5 9
6 8
9 8
Sample Output
2
5
Hint
有20%的数据n≤10,m≤30。100%的数据T=5,n≤10000,m≤200000,1≤a,b≤n。