Panda는 음이 아닌 부분에 $n$개의 선분이 놓여 있는 1차원 수직선을 가지고 있습니다. $i$번째 선분의 왼쪽 끝점은 $l_i$입니다. 모든 선분은 동일한 길이 $L$을 가집니다. 즉, $i$번째 선분은 닫힌구간 $[l_i, l_i + L - 1]$을 덮습니다.
이제 Panda는 선분을 최대 하나 이동한 후, 수직선의 음이 아닌 부분에서 정확히 $k$번 덮이는 정수 점의 최대 개수를 구하려고 합니다. 구체적으로, 최대 하나의 선분을 선택하여 그 왼쪽 끝점을 (상한이 없는) 임의의 음이 아닌 정수로 변경할 수 있습니다. 선분의 길이 $L$은 그대로 유지됩니다.
입력
첫째 줄에 테스트 케이스의 개수를 나타내는 정수 $T$ ($1 \le T \le 2 \times 10^5$)가 주어집니다.
각 테스트 케이스의 첫째 줄에는 세 양의 정수 $n, L, k$ ($1 \le n \le 2 \times 10^5$, $1 \le L \le n$, $1 \le k \le n$)가 주어집니다. $n$은 선분의 총개수, $L$은 모든 선분의 고정된 길이, $k$는 요구되는 덮임 횟수입니다.
둘째 줄에는 $n$개의 음이 아닌 정수가 주어집니다. $i$번째 정수는 $l_i$ ($0 \le l_i \le 2 \times n$)로, $i$번째 선분의 왼쪽 끝점을 나타냅니다.
모든 테스트 케이스에서 $n$의 합은 $2 \times 10^5$을 넘지 않음이 보장됩니다.
출력
각 테스트 케이스마다 선분을 최대 하나 이동한 후 정확히 $k$번 덮일 수 있는 정수 점의 최대 개수를 나타내는 정수를 한 줄에 하나씩 출력합니다.
예제
입력 1
3 3 2 1 2 6 2 3 3 2 6 2 0 5 1 3 5 6 7 8 9
출력 1
6 3 0
참고
예제의 첫 번째 테스트 케이스에서 처음에 세 선분은 $[2, 3]$, $[6, 7]$, $[2, 3]$입니다. 세 번째 선분의 왼쪽 끝점을 $114514$로 변경할 수 있습니다. 이동 후 선분들은 $[2, 3]$, $[6, 7]$, $[114514, 114515]$가 됩니다. 이렇게 하면 정확히 한 번 덮이는 정수 점이 $6$개가 되며, 이는 달성할 수 있는 최댓값입니다.
두 번째 테스트 케이스에서는 첫 번째 선분의 왼쪽 끝점을 $3$으로 이동하여 정확히 두 번 덮이는 정수 점의 개수를 최대화할 수 있습니다.