//我的代码有什么问题求大佬看一下
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int T = scan.nextInt();
int[] res = new int[T];
for (int i = 0; i < T; i++) {
int k = scan.nextInt();
int m = scan.nextInt();
int[] nums = new int[m];
for (int j = 0; j < nums.length; j++) {
nums[j] = scan.nextInt();
}
res[i] = find(nums, k);
}
for (int i = 0; i < T; i++) {
System.out.println(res[i]);
}
}
private static int find(int[] nums, int k) {
int[] help = new int[31];
int cnt = nums.length;
for (int i = 0; i < nums.length; i++) {
help[nums[i]] = 1;
}
int cnt1=0;
int cnt2=0;
boolean bool=true;
for (int i = 1; i < help.length; i++) {
if (help[i]!=0){
if (bool){
cnt2=cnt1/(k+1);
}else {
cnt2=(cnt1-k)/(k+1);
}
bool=false;
cnt+=cnt2;
cnt1=0;
}else {
cnt1++;
}
}
if (cnt1!=0){
cnt2=cnt1/(k+1);
cnt+=cnt2;
}
return cnt;
}
}