← Home
package main

import (
	"bufio"
	"fmt"
	"os"
	"sort"
)

func main() {
	reader := bufio.NewReader(os.Stdin)
	writer := bufio.NewWriter(os.Stdout)
	defer writer.Flush()

	var q int
	if _, err := fmt.Fscan(reader, &q); err != nil {
		return
	}

	for i := 0; i < q; i++ {
		var n, r int
		fmt.Fscan(reader, &n, &r)

		x := make([]int, n)
		for j := 0; j < n; j++ {
			fmt.Fscan(reader, &x[j])
		}

		sort.Ints(x)

		unique := make([]int, 0, n)
		unique = append(unique, x[0])
		for j := 1; j < n; j++ {
			if x[j] != x[j-1] {
				unique = append(unique, x[j])
			}
		}

		ans := 0
		for j := len(unique) - 1; j >= 0; j-- {
			if unique[j]-ans*r > 0 {
				ans++
			} else {
				break
			}
		}
		fmt.Fprintln(writer, ans)
	}
}