import qualified Control.Arrow as A import qualified Data.ByteString.Char8 as B import qualified Data.Maybe as M import qualified Data.Vector.Unboxed as V getInt :: B.ByteString -> Maybe (Int, B.ByteString) getInt = fmap (A.second B.tail) . B.readInt getAB :: IO (Int, Int) getAB = (\vec -> (vec V.! 0, vec V.! 1)) . V.unfoldrN 2 getInt <$> B.getLine getAN :: Int -> IO (V.Vector Int) getAN n = V.unfoldrN n getInt <$> B.getLine main :: IO () main = do (n, h) <- getAB xs <- getAN n putStrLn . unwords . map show . V.toList . V.map (+h) $ xs