import Data.List
import Data.Char
import Data.Maybe
import Control.Monad
import qualified Data.ByteString.Char8 as BS8
import qualified Data.Vector as Vector
import Data.Vector ((!))

main :: IO ()
main = do
  n <- fst . fromJust . BS8.readInt <$> BS8.getLine
  a <- unfoldr (BS8.readInt . BS8.dropWhile isSpace) <$> BS8.getLine

  let
    vb = Vector.fromList $ replicate n 0
    v = Vector.accum (+) vb (zip (map (+(-1)) a) $ repeat 1)

  Vector.mapM_ print v
