import Control.Applicative
import Data.List (sortOn,intercalate)

main = do
  [n,l] <- map read.words <$> getLine :: IO [Int]
  as <- map read.words <$> getLine :: IO [Int]
  let as' = zipWith (+) as $ tail as
      sas = reverse $ sortOn fst (zip as' [1..])
  if fst (head sas) < l
    then putStrLn "Impossible"
    else do
      putStrLn "Possible"
      let lastN = snd (head sas)
      putStr $ unlines $ map show [1..lastN-1] ++ map show [n-1,n-2..lastN]
