Little Y는 공원을 방문하고 있습니다. 이 공원의 지도는 $n$개의 정점과 $m$개의 간선을 포함하는 무향 단순 연결 그래프로 나타낼 수 있습니다. 여행객들이 경로를 계획하는 데 도움을 주기 위해 지도에는 여러 개의 사이클이 존재합니다. 각 사이클은 서로 다른 정점들의 수열 $e_1, e_2, \dots, e_l$ ($l \ge 3$)로 나타낼 수 있으며, 모든 $1 \le i \le l$에 대해 그래프에 $e_i$와 $e_{(i \bmod l)+1}$을 잇는 간선이 존재합니다. 또한 사이클 위의 모든 정점을 순서대로 연결하는 간선들의 집합을 해당 사이클의 간선 집합이라고 부르며, 두 사이클은 간선 집합이 다를 때 그리고 그때에만 서로 다른 사이클로 간주합니다. Little Y는 공원을 계속 둘러보던 중 그래프의 각 간선이 최대 하나의 사이클에만 포함된다는 성질을 발견했습니다.
현재 공원에는 조명 시스템이 없어서 밤이 되면 공원이 완전히 어두워집니다. 다행히 직원들이 지도의 일부 정점에 등대를 설치하려고 준비 중입니다. 그래프에서 두 정점 사이의 거리는 한 정점에서 다른 정점에 도달하기 위해 거쳐야 하는 최소 간선 수로 정의됩니다. 따라서 각 등대는 자신이 설치된 정점뿐만 아니라, 설치된 정점으로부터의 거리가 $k$ 이하인 모든 정점도 비출 수 있습니다.
알고리즘 대회 참가자인 Little Y는 자연스럽게 한 가지 의문이 떠올랐습니다. 모든 정점이 비춰지도록 하기 위해 설치해야 하는 등대의 최소 개수는 몇 개일까요?
입력
이 문제는 여러 개의 테스트 케이스로 이루어져 있습니다. 입력의 첫 번째 줄에는 테스트 케이스의 개수를 나타내는 정수 $T$ ($1 \le T \le 10^5$)가 주어집니다.
각 테스트 케이스에 대하여:
첫 번째 줄에는 지도의 정점 수, 간선 수, 그리고 등대가 비출 수 있는 최대 거리를 나타내는 세 정수 $n, m, k$ ($2 \le n \le 2 \times 10^5$, $n-1 \le m \le 2 \times 10^5$, $1 \le k \le n$)가 주어집니다.
다음 $m$개의 줄에는 각각 지도 위의 한 간선을 나타내는 두 정수 $u, v$ ($1 \le u, v \le n, u \ne v$)가 주어집니다.
주어지는 무향 그래프는 연결 그래프이며 중첩 간선이나 자기 루프가 없고, 각 간선은 최대 하나의 사이클에만 나타남이 보장됩니다. 또한 모든 테스트 케이스에서 $n$과 $m$의 합은 각각 $2 \times 10^5$을 넘지 않습니다.
출력
각 테스트 케이스마다 설치해야 하는 등대의 최소 개수를 나타내는 정수를 하나 출력합니다.
예제
입력
3 5 4 1 1 2 1 3 3 4 1 5 5 5 1 1 2 2 3 3 4 4 5 5 1 8 8 2 1 2 2 3 3 4 4 5 5 1 1 6 2 7 3 8
출력
2 2 1
노트
첫 번째 테스트 케이스에서는 정점 1과 정점 4에 각각 등대를 하나씩 총 두 개 설치할 수 있습니다.
두 번째 테스트 케이스에서는 정점 2와 정점 5에 각각 등대를 하나씩 총 두 개 설치할 수 있습니다.
세 번째 테스트 케이스에서 가능한 한 가지 방법은 정점 2에 등대를 하나 설치하는 것입니다. 최소 개수의 등대를 설치하는 조건을 만족하는 방법은 이것이 유일함을 증명할 수 있습니다.