← Home
```go
package main

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

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

	var t int
	fmt.Fscan(in, &t)
	for tt := 0; tt < t; tt++ {
		var n int64
		fmt.Fscan(in, &n)
		s := n * (n + 1) * (4*n - 1) / 6
		m := 2 * n
		fmt.Fprintln(out, s, m)
		for kk := int64(1); kk <= n; kk++ {
			fmt.Fprint(out, 2, " ", kk)
			for k := int64(1); k <= n; k++ {
				var val int64
				if k <= kk-1 {
					val = n - (k - 1)
				} else {
					val = k - (kk - 1)
				}
				fmt.Fprint(out, " ", val)
			}
			fmt.Fprintln(out)
			fmt.Fprint(out, 1, " ", kk)
			for j := int64(1); j <= n; j++ {
				var val int64
				if j <= kk {
					val = n - (j - 1)
				} else {
					val = j - kk
				}
				fmt.Fprint(out, " ", val)
			}
			fmt.Fprintln(out)
		}
	}
}
```