local read = setmetatable({}, {__index = function(t, k) local a = {} for i=1,#k do table.insert(a, '*'..string.sub(k, i, i)) end local r = io.read local u = table.unpack or unpack return function() return r(u(a)) end end})
read.N = function(N) local t={} for i=1,N do t[i]=read.n() end return t end
--
local N, L = read.nn()
local A = read.N(N)

local max = 0
local max_i = 0
for i=1,N-1 do
    local cur = A[i] + A[i+1]
    if cur > max then
        max = cur
        max_i = i
    end
end
if max < L then
    print("Impossible")
    return
else
    print("Possible")
    for i=1,N-1 do
        if i ~= max_i then
            print(i)
        end
    end
    print(max_i)
end