""" 总结: 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)))