도미노는 재미있다. 도미노 블록을 일렬로 길게 세운 뒤 한 블록을 넘어뜨리면, 그 블록이 다음 블록을 넘어뜨리고 이것이 연쇄적으로 반복되어 늘어선 블록을 모두 쓰러뜨릴 수 있다. 그러나 어떤 블록이 다른 블록을 넘어뜨리지 못하도록 배치되어 있는 경우도 있어서, 그럴 때는 다음 블록을 손으로 직접 넘어뜨려 주어야 한다.
도미노 블록들의 배치(어떤 블록이 넘어지면 어떤 블록이 함께 넘어지는지)가 주어질 때, 모든 블록을 넘어뜨리기 위해 손으로 넘어뜨려야 하는 블록 수의 최솟값을 구하여라.
첫째 줄에 테스트 케이스의 개수가 주어진다.
각 테스트 케이스의 첫째 줄에는 두 정수 $N$, $M$이 주어지며, 두 수 모두 $100000$을 넘지 않는다. $N$은 도미노 블록의 개수, $M$은 관계의 개수이다. 블록의 번호는 $1$ 이상 $N$ 이하의 정수이다. 이어지는 $M$개의 줄에는 각각 두 정수 $x$, $y$가 주어지며, 이는 $x$번 블록이 넘어지면 $y$번 블록도 넘어짐을 뜻한다.
각 테스트 케이스마다 정수 하나를 한 줄에 출력한다. 이 값은 모든 블록을 넘어뜨리기 위해 손으로 넘어뜨려야 하는 도미노 블록의 최소 개수이다.