#include <iostream>
#include <algorithm>
#include <cstring>
#include <queue>
#include <cmath>
#include <string>
using namespace std;
typedef long long ll;
typedef pair<int, int> PII;
const int N = 510;
int n, m;
int s[N][N];
void change_1(int x, int y, int r){
for(int i = x - r; i <= x + r; i++){
for(int j = 0; j <= i - x + r; j++){
swap(s[i][y - r + j], s[y - r + j][i]);
}
}
for(int i = 0; i < r; i++){
for(int j = x - r; j <= x + r; j++){
swap(s[j][y - r + i], s[j][y + r - i]);
}
}
}
void change_2(int x, int y, int r){
for(int i = x - r; i <= x + r; i++){
for(int j = 0; j <= i - x + r; j++){
swap(s[i][y - r + j], s[y - r + j][i]);
}
}
for(int i = 0; i < r; i++){
for(int j = y - r; j <= y + r; j++){
swap(s[x - r + i][j], s[x + r - i][j]);
}
}
}
int main()
{
ios::sync_with_stdio(0);
cin>>n>>m;
for(int i = 1; i <= n; i++){
for(int j = 1; j <= n; j++){
s[i][j] = (i - 1) * n + j;
}
}
while(m--){
int x, y, r, z;
cin>>x>>y>>r>>z;
if(z & 1) change_2(x, y, r);
else change_1(x, y, r);
}
for(int i = 1; i <= n; i++){
for(int j = 1; j <= n; j++){
cout<<s[i][j]<<" ";
}
cout<<endl;
}
return 0;
}