from collections import defaultdict

def gen_bound(x,B):

	if x < 3: lb = 2

	else: lb = x - 1

	if x > B-2: ub = B-1

	else: ub = x + 1

	return lb,ub+1

def solve():

	count = defaultdict(int)

	ans = [0]*10

	H,W,N = list(map(int,input().split()))

	ans[0] = (H-2)*(W-2)

	for i in range(N):

		a,b = list(map(int,input().split()))

		xlb,xub = gen_bound(a,H)

		ylb,yub = gen_bound(b,W)

		for x in range(xlb,xub):

			for y in range(ylb,yub):

				count[x+(y<<34)] += 1

	for v in count.values():ans[v] += 1

	ans[0] -= sum(ans[1:])

	for c in ans: print(c)

solve()
from collections import defaultdict

from sys import stdin

def gen_bound(x,B):

	if x < 3: lb = 2

	else: lb = x - 1

	if x > B-2: ub = B-1

	else: ub = x + 1

	return lb,ub+1

def solve():

	count = defaultdict(int)

	ans = [0]*10

	L = [list(map(int,x.split())) for x in stdin.readlines()]

	H,W,N = L[0]

	ans[0] = (H-2)*(W-2)

	for i in range(1,N+1):

		xlb,xub = gen_bound(L[i][0],H)

		ylb,yub = gen_bound(L[i][1],W)

		for x in range(xlb,xub):

			for y in range(ylb,yub):

				count[x+(y<<34)] += 1

	for v in count.values():ans[v] += 1

	ans[0] -= sum(ans[1:])

	for c in ans: print(c)

solve()
from collections import defaultdict


def gen_bound(x, B):
    if x < 3:
        lb = 2
    else:
        lb = x - 1
    if x > B - 2:
        ub = B - 1
    else:
        ub = x + 1
    return lb, ub + 1


def solve():
    count = defaultdict(int)
    ans = [0] * 10
    H, W, N = list(map(int, input().split()))
    ans[0] = (H - 2) * (W - 2)
    for i in range(N):
        a, b = list(map(int, input().split()))
        xlb, xub = gen_bound(a, H)
        ylb, yub = gen_bound(b, W)
        for x in range(xlb, xub):
            for y in range(ylb, yub):
                count[x + (y << 34)] += 1
    for v in count.values():
        ans[v] += 1
    ans[0] -= sum(ans[1:])
    for c in ans:
        print(c)


solve()

from collections import defaultdict
from sys import stdin


def gen_bound(x, B):
    if x < 3:
        lb = 2
    else:
        lb = x - 1
    if x > B - 2:
        ub = B - 1
    else:
        ub = x + 1
    return lb, ub + 1


def solve():
    count = defaultdict(int)
    ans = [0] * 10
    L = [list(map(int, x.split())) for x in stdin.readlines()]
    H, W, N = L[0]
    ans[0] = (H - 2) * (W - 2)
    for i in range(1, N + 1):
        xlb, xub = gen_bound(L[i][0], H)
        ylb, yub = gen_bound(L[i][1], W)
        for x in range(xlb, xub):
            for y in range(ylb, yub):
                count[x + (y << 34)] += 1
    for v in count.values():
        ans[v] += 1
    ans[0] -= sum(ans[1:])
    for c in ans:
        print(c)


solve()

+from sys import stdin -    H, W, N = list(map(int, input().split())) +    L = [list(map(int, x.split())) for x in stdin.readlines()] +    H, W, N = L[0] -    for i in range(N): -        a, b = list(map(int, input().split())) -        xlb, xub = gen_bound(a, H) -        ylb, yub = gen_bound(b, W) +    for i in range(1, N + 1): +        xlb, xub = gen_bound(L[i][0], H) +        ylb, yub = gen_bound(L[i][1], W)