package main
import (
"bufio"
"fmt"
"os"
"strings"
)
func main() {
in := bufio.NewReaderSize(os.Stdin, 1<<20)
var t int
fmt.Fscan(in, &t)
var out strings.Builder
for ; t > 0; t-- {
var n int
fmt.Fscan(in, &n)
if n%2 == 0 {
out.WriteString("No\n")
continue
}
out.WriteString("Yes\n")
h := (n - 1) / 2
for i := 0; i < n; i++ {
j := (i + h) % n
fmt.Fprintf(&out, "%d %d\n", i+1, n+j+1)
}
}
fmt.Print(out.String())
}