← 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
	if _, err := fmt.Fscan(in, &t); err != nil {
		return
	}
	for ; t > 0; t-- {
		var n int
		fmt.Fscan(in, &n)

		s := int64(n) * int64(n+1) * int64(4*n-1) / 6
		m := 2 * n
		fmt.Fprintf(out, "%d %d\n", s, m)

		for j := 1; j <= n; j++ {
			// Column operation j
			fmt.Fprintf(out, "2 %d", j)
			for i := 1; i <= n; i++ {
				var v int
				if i < j {
					v = n - i + 1
				} else {
					v = i - j + 1
				}
				fmt.Fprintf(out, " %d", v)
			}
			fmt.Fprintln(out)

			// Row operation j
			fmt.Fprintf(out, "1 %d", j)
			for k := 1; k <= n; k++ {
				var v int
				if k <= j {
					v = n - k + 1
				} else {
					v = k - j
				}
				fmt.Fprintf(out, " %d", v)
			}
			fmt.Fprintln(out)
		}
	}
}
```