import Control.Monad import qualified Data.ByteString.Char8 as B import Data.Maybe rInt :: B.ByteString -> Int rInt = fst . fromJust . B.readInt rank _ [] _ = [] rank k (a:as) i = i' : rank k as i' where i' | a > k = i + 1 | otherwise = i main = do n <- readLn as <- map rInt <$> replicateM n B.getLine mapM_ print (rank (head as) as 1)