#include <bits/stdc++.h>
#include "testlib.h"
 
using namespace std;
 
typedef long long ll;
void gen_case(int n,int m,int sw1,int sw2){
    vector<int>input={n,m};
    println(input);
    vector<vector<int>>a(n,vector<int>(m));
    for(int i=0;i<m;i++){
        a[0][i]=rnd.next(0,5);
    }
    for(int i=1;i<n;i++){
        for(int j=0;j<m;j++){
            a[i][j]=rnd.next(a[i-1][j],max(a[i-1][j],min(100,i+10)));
        }
    }
    if(sw1!=-1){
        swap(a[sw1],a[sw2]);
    }
    for(int i=0;i<n;i++){
        println(a[i]);
    }
}
 
int main(int argc, char* argv[]) {
    registerGen(argc, argv, 1);
    int n=opt<int>("n");
    int m=opt<int>("m");
    int S1=opt<int>("S1");
    int S2=opt<int>("S2");
    gen_case(n,m,S1,S2);
    return 0;
}
