import Control.Monad
import Data.Maybe
import qualified Data.ByteString.Char8 as BS
import Data.List

readInt = fst . fromJust . BS.readInt
readIntList = map readInt . BS.words
getInt = readInt <$> BS.getLine
getIntList = readIntList <$> BS.getLine

main = do
    [n,l] <- getIntList
    as <- getIntList
    let s = filter ((>= l) . snd) . zip [1..] $ zipWith (+) as (tail as)
    let r | null s = 0
          | otherwise = fst $ head s
    if r == 0 then
        putStrLn "Impossible"
    else do
        putStrLn "Possible"
        forM_ [1..r-1] $ \i -> print i
        forM_ [n-1,n-2..r] $ \i -> print i