import sys

iH,iW,iN = [int(_) for _ in input().split()]

aD = [[int(_) for _ in sLine.split()] for sLine in sys.stdin.readlines()]



iMax = (iH - 2) * (iW -2)

#print (iMax)



dC={}

for i in range(10):

    dC[i]=0



#愚直 無理 つらい

#for i in range(1,iH -1):

#   for j in range(1,iW-1):

#       tmp = 0

#       for a in aD:

#           if j<= a[1] <=j+2 and i<= a[0] <= i+2:

#               tmp +=1

#       dC[tmp] +=1

dM = {}

for a in aD:

    y=a[0]

    x=a[1]

    for aP in [(y-2,x-2),(y-2,x-1),(y-2,x),(y-1,x-2),(y-1,x-1),(y-1,x),(y,x-2),(y,x-1),(y,x)]:

        if 0< aP[0]<iH-1 and 0 < aP[1] < iW-1:

            iP = aP[0]*iW + aP[1]

            if iP in dM:

                dM[iP] += 1

            else:

                dM[iP] = 1

for i in dM:

    dC[dM[i]]+=1



iAllBM=0

for i in range(1,10):

    iAllBM+=dC[i]

dC[0] = iMax -iAllBM



for i in range(10):

    print((dC[i]))

import sys

def 解():

    iH,iW,iN = [int(_) for _ in input().split()]

    aD = [[int(_) for _ in sLine.split()] for sLine in sys.stdin.readlines()]



    iMax = (iH - 2) * (iW -2)

    #print (iMax)



    dC={}

    for i in range(10):

        dC[i]=0



    #愚直 無理 つらい

    #for i in range(1,iH -1):

    #   for j in range(1,iW-1):

    #       tmp = 0

    #       for a in aD:

    #           if j<= a[1] <=j+2 and i<= a[0] <= i+2:

    #               tmp +=1

    #       dC[tmp] +=1



    #なんというか、面倒くさくなって解法みても

    #面倒くさがらずやれとしか書いてなくてつらい

    dM = {}

    for a in aD:

        y=a[0]

        x=a[1]

        for aP in [(y-2,x-2),(y-2,x-1),(y-2,x),(y-1,x-2),(y-1,x-1),(y-1,x),(y,x-2),(y,x-1),(y,x)]:

            if 0< aP[0]<iH-1 and 0 < aP[1] < iW-1:

                iP = aP[0]*iW + aP[1]

                if iP in dM: #もう最初から足したったらええんや

                    dM[iP] += 1

                else:

                    dM[iP] = 1

    for i in dM:

        dC[dM[i]]+=1



    iAllBM=0

    for i in range(1,10):

        iAllBM+=dC[i]

    dC[0] = iMax -iAllBM #点のないマス0は引き算で出せる



    for i in range(10):

        print((dC[i]))

解()

import sys

iH, iW, iN = [int(_) for _ in input().split()]
aD = [[int(_) for _ in sLine.split()] for sLine in sys.stdin.readlines()]
iMax = (iH - 2) * (iW - 2)
# print (iMax)
dC = {}
for i in range(10):
    dC[i] = 0
# 愚直 無理 つらい
# for i in range(1,iH -1):
#   for j in range(1,iW-1):
#       tmp = 0
#       for a in aD:
#           if j<= a[1] <=j+2 and i<= a[0] <= i+2:
#               tmp +=1
#       dC[tmp] +=1
dM = {}
for a in aD:
    y = a[0]
    x = a[1]
    for aP in [
        (y - 2, x - 2),
        (y - 2, x - 1),
        (y - 2, x),
        (y - 1, x - 2),
        (y - 1, x - 1),
        (y - 1, x),
        (y, x - 2),
        (y, x - 1),
        (y, x),
    ]:
        if 0 < aP[0] < iH - 1 and 0 < aP[1] < iW - 1:
            iP = aP[0] * iW + aP[1]
            if iP in dM:
                dM[iP] += 1
            else:
                dM[iP] = 1
for i in dM:
    dC[dM[i]] += 1
iAllBM = 0
for i in range(1, 10):
    iAllBM += dC[i]
dC[0] = iMax - iAllBM
for i in range(10):
    print((dC[i]))

import sys


def 解():
    iH, iW, iN = [int(_) for _ in input().split()]
    aD = [[int(_) for _ in sLine.split()] for sLine in sys.stdin.readlines()]
    iMax = (iH - 2) * (iW - 2)
    # print (iMax)
    dC = {}
    for i in range(10):
        dC[i] = 0
    # 愚直 無理 つらい
    # for i in range(1,iH -1):
    #   for j in range(1,iW-1):
    #       tmp = 0
    #       for a in aD:
    #           if j<= a[1] <=j+2 and i<= a[0] <= i+2:
    #               tmp +=1
    #       dC[tmp] +=1
    # なんというか、面倒くさくなって解法みても
    # 面倒くさがらずやれとしか書いてなくてつらい
    dM = {}
    for a in aD:
        y = a[0]
        x = a[1]
        for aP in [
            (y - 2, x - 2),
            (y - 2, x - 1),
            (y - 2, x),
            (y - 1, x - 2),
            (y - 1, x - 1),
            (y - 1, x),
            (y, x - 2),
            (y, x - 1),
            (y, x),
        ]:
            if 0 < aP[0] < iH - 1 and 0 < aP[1] < iW - 1:
                iP = aP[0] * iW + aP[1]
                if iP in dM:  # もう最初から足したったらええんや
                    dM[iP] += 1
                else:
                    dM[iP] = 1
    for i in dM:
        dC[dM[i]] += 1
    iAllBM = 0
    for i in range(1, 10):
        iAllBM += dC[i]
    dC[0] = iMax - iAllBM  # 点のないマス0は引き算で出せる
    for i in range(10):
        print((dC[i]))


解()

-iH, iW, iN = [int(_) for _ in input().split()] -aD = [[int(_) for _ in sLine.split()] for sLine in sys.stdin.readlines()] -iMax = (iH - 2) * (iW - 2) -# print (iMax) -dC = {} -for i in range(10): -    dC[i] = 0 -# 愚直 無理 つらい -# for i in range(1,iH -1): -#   for j in range(1,iW-1): -#       tmp = 0 -#       for a in aD: -#           if j<= a[1] <=j+2 and i<= a[0] <= i+2: -#               tmp +=1 -#       dC[tmp] +=1 -dM = {} -for a in aD: -    y = a[0] -    x = a[1] -    for aP in [ -        (y - 2, x - 2), -        (y - 2, x - 1), -        (y - 2, x), -        (y - 1, x - 2), -        (y - 1, x - 1), -        (y - 1, x), -        (y, x - 2), -        (y, x - 1), -        (y, x), -    ]: -        if 0 < aP[0] < iH - 1 and 0 < aP[1] < iW - 1: -            iP = aP[0] * iW + aP[1] -            if iP in dM: -                dM[iP] += 1 -            else: -                dM[iP] = 1 -for i in dM: -    dC[dM[i]] += 1 -iAllBM = 0 -for i in range(1, 10): -    iAllBM += dC[i] -dC[0] = iMax - iAllBM -for i in range(10): -    print((dC[i])) + +def 解(): +    iH, iW, iN = [int(_) for _ in input().split()] +    aD = [[int(_) for _ in sLine.split()] for sLine in sys.stdin.readlines()] +    iMax = (iH - 2) * (iW - 2) +    # print (iMax) +    dC = {} +    for i in range(10): +        dC[i] = 0 +    # 愚直 無理 つらい +    # for i in range(1,iH -1): +    #   for j in range(1,iW-1): +    #       tmp = 0 +    #       for a in aD: +    #           if j<= a[1] <=j+2 and i<= a[0] <= i+2: +    #               tmp +=1 +    #       dC[tmp] +=1 +    # なんというか、面倒くさくなって解法みても +    # 面倒くさがらずやれとしか書いてなくてつらい +    dM = {} +    for a in aD: +        y = a[0] +        x = a[1] +        for aP in [ +            (y - 2, x - 2), +            (y - 2, x - 1), +            (y - 2, x), +            (y - 1, x - 2), +            (y - 1, x - 1), +            (y - 1, x), +            (y, x - 2), +            (y, x - 1), +            (y, x), +        ]: +            if 0 < aP[0] < iH - 1 and 0 < aP[1] < iW - 1: +                iP = aP[0] * iW + aP[1] +                if iP in dM:  # もう最初から足したったらええんや +                    dM[iP] += 1 +                else: +                    dM[iP] = 1 +    for i in dM: +        dC[dM[i]] += 1 +    iAllBM = 0 +    for i in range(1, 10): +        iAllBM += dC[i] +    dC[0] = iMax - iAllBM  # 点のないマス0は引き算で出せる +    for i in range(10): +        print((dC[i])) + + +解()