Bessie는 $1\ldots N$으로 번호가 붙은 $N$개의 정점과 $M$개의 간선을 가진 연결 무방향 그래프 $G$를 가지고 있다 ($2\le N\le 10^5, N-1\le M\le \frac{N^2+N}{2}$). $G$에는 자기 루프(정점에서 자기 자신으로 이어지는 간선)가 있을 수 있지만, 평행 간선(같은 두 끝점을 연결하는 여러 간선)은 없다.
각 $1\le a\le N$과 $0\le b$에 대해, 정점 $1$에서 정점 $a$까지 정확히 $b$개의 간선을 지나가는 경로가 존재하면 참이고, 그렇지 않으면 거짓인 불 함수 $f_G(a,b)$를 정의하자. 어떤 간선을 여러 번 지나가면, 지나간 횟수만큼 간선 수에 포함한다.
Elsie는 Bessie의 것을 따라 만들고 싶다. 구체적으로, 모든 $a$와 $b$에 대해 $f_{G'}(a,b)=f_G(a,b)$를 만족하는 무방향 그래프 $G'$를 만들고 싶다.
Elsie는 가능한 한 적게 일하고 싶으므로, 가능한 한 작은 그래프를 만들려고 한다. 따라서 여러분은 $G'$가 가질 수 있는 최소 간선 수를 구해야 한다.
각 입력에는 서로 독립적으로 풀어야 하는 $T$ ($1\le T\le 5\cdot 10^4$)개의 테스트 케이스가 들어 있다. 모든 테스트 케이스의 $N$의 합은 $10^5$를 넘지 않으며, 모든 테스트 케이스의 $M$의 합은 $2\cdot 10^5$를 넘지 않음이 보장된다.
입력
입력의 첫 번째 줄에는 테스트 케이스 수 $T$가 주어진다.
각 테스트 케이스의 첫 번째 줄에는 두 정수 $N$과 $M$이 주어진다.
각 테스트 케이스의 다음 $M$개의 줄에는 각각 두 정수 $x$와 $y$ ($1\le x\le y\le N$)가 주어지며, 이는 $G$에서 $x$와 $y$ 사이에 간선이 있음을 뜻한다.
읽기 쉽도록 연속된 테스트 케이스 사이에는 빈 줄이 들어 있다.
출력
각 테스트 케이스마다 $G'$가 가질 수 있는 최소 간선 수를 새로운 줄에 출력한다.
예제
입력 1
2 5 5 1 2 2 3 2 5 1 4 4 5 5 5 1 2 2 3 3 4 4 5 1 5
출력 1
4 5
참고
첫 번째 테스트 케이스에서 Elsie는 $G$에서 시작하여 $(2,5)$를 제거함으로써 $G'$를 만들 수 있다. 또는 다음 간선들을 가진 그래프를 만들 수도 있다. $G$의 간선을 제거하는 방법만 허용되는 것은 아니기 때문이다.
1 2 1 4 4 3 4 5
$G'$ 역시 연결되어야 하므로, Elsie는 분명히 $N-1$보다 더 적은 간선으로 만들 수 없다.
입력 2
7 8 10 1 2 1 3 1 4 1 5 2 6 3 7 4 8 5 8 6 7 8 8 10 11 1 2 1 5 1 6 2 3 3 4 4 5 4 10 6 7 7 8 8 9 9 9 13 15 1 2 1 5 1 6 2 3 3 4 4 5 6 7 7 8 7 11 8 9 9 10 10 11 11 12 11 13 12 13 16 18 1 2 1 7 1 8 2 3 3 4 4 5 5 6 6 7 8 9 9 10 9 15 9 16 10 11 11 12 12 13 13 14 14 15 14 16 21 22 1 2 1 9 1 12 2 3 3 4 4 5 5 6 6 7 7 8 7 11 8 9 8 10 12 13 13 14 13 21 14 15 15 16 16 17 17 18 18 19 19 20 20 21 20 26 1 2 1 5 1 6 2 3 3 4 4 5 4 7 6 8 8 9 8 11 8 12 8 13 8 14 8 15 8 16 8 17 9 10 10 18 11 18 12 19 13 20 14 20 15 20 16 20 17 20 19 20 24 31 1 2 1 7 1 8 2 3 3 4 4 5 5 6 6 7 6 9 8 10 10 11 10 16 10 17 10 18 10 19 10 20 11 12 12 13 13 14 14 15 15 16 15 17 15 18 15 19 15 20 15 21 15 22 15 23 15 24 21 22 23 24
출력 2
10 11 15 18 22 26 31
참고
이 테스트 케이스들 각각에서 Elsie는 Bessie보다 더 적은 간선으로 만들 수 없다.
- 입력 3의 모든 테스트 케이스는 $N\le 5$를 만족한다.
- 입력 4–5의 모든 테스트 케이스는 $M=N$을 만족한다.
- 입력 6–9의 모든 테스트 케이스에서, 모든 $b$에 대해 $f_G(x,b)=f_G(y,b)$가 성립하는 것이 아니라면, $f_G(x,b)$는 참이고 $f_G(y,b)$는 거짓인 $b$가 존재한다.
- 입력 10–15의 모든 테스트 케이스는 $N\le 10^2$를 만족한다.
- 입력 16–20의 테스트 케이스에는 추가 제한이 없다.
문제 출제자: Benjamin Qi