Panda 在一維數軸的非負半軸上放置了 $n$ 條線段。第 $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$,以最大化恰好被覆蓋兩次的整數點數量。