//我的代码有什么问题求大佬看一下
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;
    }
}