#include <bits/stdc++.h>
using namespace std;
int n, m, q, num[105][105], opt[10005], x[10005], y[10005], z[10005], tmp;
int main() {
  scanf("%d%d%d", &n, &m, &q);
  for (int i = 1; i <= q; ++i) {
    scanf("%d%d", &opt[i], &x[i]);
    if (opt[i] == 3) scanf("%d%d", &y[i], &z[i]);
  }
  for (int i = q; i; --i) {
    if (opt[i] == 3)
      num[x[i]][y[i]] = z[i];
    else if (opt[i] == 1) {
      tmp = num[x[i]][m];
      for (int j = m; j > 1; --j) num[x[i]][j] = num[x[i]][j - 1];
      num[x[i]][1] = tmp;
    } else {
      tmp = num[n][x[i]];
      for (int j = n; j > 1; --j) num[j][x[i]] = num[j - 1][x[i]];
      num[1][x[i]] = tmp;
    }
  }
  for (int i = 1; i <= n; ++i) {
    for (int j = 1; j < m; ++j) printf("%d ", num[i][j]);
    printf("%d\n", num[i][m]);
  }
  return 0;
}
