import qualified Data.ByteString.Char8 as B
import qualified Data.Vector.Unboxed as VU
import qualified Data.Vector.Unboxed.Mutable as VUM
import Data.Char
import Control.Monad

main = do
    n <- readLn :: IO Int
    xs <- VU.unfoldrN n (B.readInt . B.dropWhile isSpace) <$> B.getLine :: IO (VU.Vector Int)
    ys <- VUM.replicate n 0 :: IO (VUM.IOVector Int) 
    forM_ [0..n-1] $ \i -> do
        let n = xs VU.! i
        VUM.write ys (n-1) (i+1) 
    forM_ [0..n-1] $ \i -> do
        VUM.read ys i >>= \r -> putStr $ show r
        putStr " "
    putStrLn ""