{-# OPTIONS_GHC -O2 #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE Strict #-}
{-# LANGUAGE StrictData #-}
import qualified Data.Vector.Unboxed as VU
import qualified Data.Vector.Unboxed.Mutable as VUM
import Data.Array.Unboxed
import Data.Array.ST
import qualified Data.ByteString.Char8 as BS
import Control.Monad
import Data.List
import Data.Char


main = do
    n <- readLn
    as <- unfoldr (BS.readInt . BS.dropWhile isSpace) <$> BS.getLine
    let v :: VU.Vector Int
        v = VU.create $ do
            v <- VUM.replicate n 0
            forM_ as $ \i -> do
                VUM.modify v ((+) 1) (i-1)
            return v
    mapM_ print $ VU.toList v