#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define MOD 1000000007
#define PI 4 * atan(1)
#define sz(A) (int)A.size()
typedef long long ll;
typedef vector<int> vi;
typedef pair<int, int> pii;
typedef vector<long long> vll;
typedef long int int32;
typedef unsigned long int uint32;
typedef long long int int64;
typedef unsigned long long int uint64;
int n,e;
set<int> adj[10004];
inline void solve(int test){
int t; cin >> t;
int n; cin >> n;
int a[n+1][n+1] = {0};
for(int i=1; i<=n;i++){
for(int j=1; j<=n; j++) cin >> a[i][j];
}
if(t == 1){
for(int i=1; i<=n; i++){
int c = 0;
for(int j=1; j <=n; j++) c += a[i][j];
cout << c << " ";
}
}else{
vector<pii> vt;
for(int i=1; i<=n; i++){
for(int j=i; j <=n; j++){
if(a[i][j]) vt.push_back({i,j});
}
}
cout << n << " " << vt.size() << "\n";
for(auto it : vt){
cout << it.first << " " << it.second << "\n";
}
}
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int typetest = 0;
if (typetest){
int t;
cin >> t;
cin.ignore();
for(int i=1; i<=t; i++){
solve(i);
}
}
else solve(0);
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgTU9EIDEwMDAwMDAwMDcKI2RlZmluZSBQSSA0ICogYXRhbigxKQojZGVmaW5lIHN6KEEpIChpbnQpQS5zaXplKCkKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnR5cGVkZWYgdmVjdG9yPGludD4gdmk7CnR5cGVkZWYgcGFpcjxpbnQsIGludD4gcGlpOwp0eXBlZGVmIHZlY3Rvcjxsb25nIGxvbmc+IHZsbDsKdHlwZWRlZiBsb25nIGludCBpbnQzMjsKdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCB1aW50MzI7CnR5cGVkZWYgbG9uZyBsb25nIGludCBpbnQ2NDsKdHlwZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgaW50IHVpbnQ2NDsKaW50IG4sZTsKc2V0PGludD4gYWRqWzEwMDA0XTsKaW5saW5lIHZvaWQgc29sdmUoaW50IHRlc3QpewogICAgaW50IHQ7IGNpbiA+PiB0OwogICAgaW50IG47IGNpbiA+PiBuOwogICAgaW50IGFbbisxXVtuKzFdID0gezB9OwogICAgZm9yKGludCBpPTE7IGk8PW47aSsrKXsKICAgICAgICBmb3IoaW50IGo9MTsgajw9bjsgaisrKSBjaW4gPj4gYVtpXVtqXTsKICAgIH0KICAgIGlmKHQgPT0gMSl7CiAgICAgICAgZm9yKGludCBpPTE7IGk8PW47IGkrKyl7CiAgICAgICAgICAgIGludCAgYyA9IDA7CiAgICAgICAgICAgIGZvcihpbnQgaj0xOyBqIDw9bjsgaisrKSBjICs9IGFbaV1bal07CiAgICAgICAgICAgIGNvdXQgPDwgYyA8PCAiICI7CiAgICAgICAgfQogICAgfWVsc2V7CiAgICAgICAgdmVjdG9yPHBpaT4gdnQ7CiAgICAgICAgZm9yKGludCBpPTE7IGk8PW47IGkrKyl7CiAgICAgICAgICAgIGZvcihpbnQgaj1pOyBqIDw9bjsgaisrKXsKICAgICAgICAgICAgICAgIGlmKGFbaV1bal0pIHZ0LnB1c2hfYmFjayh7aSxqfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY291dCA8PCBuIDw8ICIgIiA8PCB2dC5zaXplKCkgPDwgIlxuIjsKICAgICAgICBmb3IoYXV0byBpdCA6IHZ0KXsKICAgICAgICAgICAgY291dCA8PCBpdC5maXJzdCA8PCAiICIgPDwgaXQuc2Vjb25kIDw8ICJcbiI7CiAgICAgICAgfQogICAgfQp9ICAgCmludCBtYWluKCl7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoTlVMTCk7CiAgICBjb3V0LnRpZShOVUxMKTsKICAgIGludCB0eXBldGVzdCA9IDA7CiAgICBpZiAodHlwZXRlc3QpewogICAgICAgIGludCB0OwogICAgICAgIGNpbiA+PiB0OwogICAgICAgIGNpbi5pZ25vcmUoKTsKICAgICAgICBmb3IoaW50IGk9MTsgaTw9dDsgaSsrKXsKICAgICAgICAgICAgc29sdmUoaSk7CiAgICAgICAgfQogICAgfQogICAgZWxzZSBzb2x2ZSgwKTsKfSA=