#include <iostream>
#include <vector>
using namespace std;
void processMatrix(int n) {
vector<vector<int>> v(n+1, vector<int>(n+1));
vector<vector<int>> a;
for(int i=n;i>=1;i--){
a.push_back({1,i});
a.push_back({2,i});
for(int j=1;j<=n;j++){
v[i][j]=j;
}
for(int j=1;j<=n;j++){
v[j][i]=j;
}
}
int sum=0;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
sum+=v[i][j];
}
}
cout<<sum<<" "<<2*n<<endl;
for(auto h:a){
cout<<h[0]<<" "<<h[1]<<" ";
for(int i=1;i<=n;i++){
cout<<i<<" ";
}
cout<<endl;
}
}
int main() {
int t, n;
cin >> t; // Number of test cases
while (t--) {
cin >> n; // Matrix size
processMatrix(n);
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBwcm9jZXNzTWF0cml4KGludCBuKSB7CiAgICB2ZWN0b3I8dmVjdG9yPGludD4+IHYobisxLCB2ZWN0b3I8aW50PihuKzEpKTsKICAgIHZlY3Rvcjx2ZWN0b3I8aW50Pj4gYTsKICAgIAogICAgZm9yKGludCBpPW47aT49MTtpLS0pewogICAgCWEucHVzaF9iYWNrKHsxLGl9KTsKICAgIAlhLnB1c2hfYmFjayh7MixpfSk7CiAgICAJZm9yKGludCBqPTE7ajw9bjtqKyspewogICAgCQl2W2ldW2pdPWo7CiAgICAJfQogICAgCWZvcihpbnQgaj0xO2o8PW47aisrKXsKICAgIAkJdltqXVtpXT1qOwogICAgCX0KICAgIH0KICAgIGludCBzdW09MDsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewogICAgICAgIGZvciAoaW50IGogPSAxOyBqIDw9IG47IGorKykgewogICAgICAgICAgICBzdW0rPXZbaV1bal07CiAgICAgICAgfQogICAgfQogICAgY291dDw8c3VtPDwiICI8PDIqbjw8ZW5kbDsKICAgIGZvcihhdXRvIGg6YSl7CiAgICAJY291dDw8aFswXTw8IiAiPDxoWzFdPDwiICI7CiAgICAJZm9yKGludCBpPTE7aTw9bjtpKyspewogICAgCQljb3V0PDxpPDwiICI7CiAgICAJfQogICAgCWNvdXQ8PGVuZGw7CiAgICB9CiAgICAKfQoKaW50IG1haW4oKSB7CiAgICBpbnQgdCwgbjsKICAgIGNpbiA+PiB0OyAvLyBOdW1iZXIgb2YgdGVzdCBjYXNlcwogICAgd2hpbGUgKHQtLSkgewogICAgICAgIGNpbiA+PiBuOyAvLyBNYXRyaXggc2l6ZQogICAgICAgIHByb2Nlc3NNYXRyaXgobik7CiAgICB9CiAgICByZXR1cm4gMDsKfQo=