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