```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)
}
}
}
```