import qualified Data.Map as Map
import qualified Data.ByteString.Char8 as BS
import Control.Monad
import Data.Maybe

main :: IO ()
main = do
  [h, w, n] <- map read . words <$> getLine
  points <- replicateM n $ do
    [a, b] <- map (fst . fromJust . BS.readInt) . BS.words <$> BS.getLine
    return (a, b)
  let
    po = do
      (x, y) <- points
      i <- [-1..1]
      j <- [-1..1]
      let
        x1 = x + i
        y1 = y + j
      guard $ x1 > 1 && x1 < h && y1 > 1 && y1 < w
      return (x1, y1)
    ma = foldl (flip $ \c -> Map.insertWith (+) c 1) Map.empty po
    ans = Map.foldl (\m i -> Map.insertWith (+) i 1 m) Map.empty ma
    l = sum ans
  forM_ [0..9] $ \i -> print $ length po
