"""
总结:
https://mp.csdn.net/mp_blog/creation/success/149482114
"""
n ,m , q =map(int ,input().split())
maxtrix = [list(map(int, input().split())) for _ in range(n)]
d = [[0 for _ in range(m + 2)] for _ in range(n + 2)]
# 初始化差分数组
for i in range(1, n + 1):
for j in range(1, m + 1):
d[i][j] = maxtrix[i - 1][j - 1]
if i > 1:
d[i][j] -= maxtrix[i - 2][j - 1]
if j > 1:
d[i][j] -= maxtrix[i - 1][j - 2]
if i > 1 and j > 1:
d[i][j] += maxtrix[i - 2][j - 2]
# 处置修改
for _ in range(q):
x1, y1, x2, y2, k = map(int, input().split())
# 调整差分
d[x1][y1] += k
d[x2 + 1][y1] -= k
d[x1][y2 + 1] -= k
d[x2 + 1][y2 + 1] += k
# 根据差分还原数组
for i in range(1, n + 1):
for j in range(1, m + 1):
maxtrix[i - 1][j - 1] = d[i][j]
if i > 1:
maxtrix[i - 1][j - 1] += maxtrix[i - 2][j - 1]
if j > 1:
maxtrix[i - 1][j - 1] += maxtrix[i - 1][j - 2]
if i > 1 and j > 1:
maxtrix[i - 1][j - 1] -= maxtrix[i - 2][j - 2]
for row in maxtrix:
print(" ".join(map(str, row)))