
from collections import deque
import sys


input = sys.stdin.readline
print = sys.stdout.write

def dist(p, x, y):
    return abs(p[0]-x)+abs(p[1]-y)

def main():
    dx = [0,1,0,-1]
    dy = [1,0,-1,0]
    h,w,n = map(int, input().split())
    locs = [None]*n
    q = deque()
    
    # [2][h][w]
    ans = [[[None for _ in range(w)] for _ in range(h)] for _ in range(2)]
    
    for i in range(n):
        locs[i] = list(map(int, input().split()))
        locs[i][0] -= 1
        locs[i][1] -= 1
        q.append((i, locs[i][0], locs[i][1])) # index, h, w

    while q:
        # for index, x, y in q:
        index, x, y = q.popleft()
        if ans[0][x][y] == index or ans[1][x][y] != None:
            continue
        if ans[0][x][y] == None:
            ans[0][x][y] = index
        else:
            ans[1][x][y] = index
        for k in range(4):
            xx = x + dx[k]
            yy = y + dy[k]
            if xx < 0 or yy < 0 or xx == h or yy == w: continue
            q.append((index,xx,yy))        

    # print("\n".join(" ".join(str(dist(locs[ans[0][j][i]], j, i)) for i in range(w) ) for j in range(h)))    
    print("\n".join(" ".join(str(ans[0][j][i] + 1) for i in range(w) ) for j in range(h)))    
    print("\n")
    # print("\n".join(" ".join(str(dist(locs[ans[1][j][i]], j, i)) for i in range(w) ) for j in range(h)))    
    print("\n".join(" ".join(str(ans[1][j][i] + 1) for i in range(w) ) for j in range(h)))    
    print("\n")

if __name__ == "__main__":
    main()
