import re
import copy
m,n,k = [int(input()) for _ in range(3)]
grid = [[0]*n for _ in range(m)]
res = []
if n == 0 or m == 0:
print(0)
def dfs(grid, i,j):
if i<0 or j>=n or i>=m or j<0 or grid[i][j] != 1:
return
grid[i][j] = 0
dfs(grid, i-1,j)
dfs(grid, i+1,j)
dfs(grid, i, j-1)
dfs(grid, i, j+1)
for _ in range(k):
x,y = map(int, input().split())
if not 0<=x<m or not 0<=y<n:
res.append(res[-1])
continue
grid[x][y] = 1
graph = copy.deepcopy(grid)
num = 0
for i in range(m):
for j in range(n):
if graph[i][j] == 1:
dfs(graph, i,j)
num += 1
res.append(num)
print(" ".join(map(str, res)))