from itertools import accumulate as ac



n,l=list(map(int,input().split()))

*a,=list(map(int,input().split()))

v=[]



for i in range(n-1):

  if a[i]+a[i+1]>=l:

    v.append(i+1)

    break

else:

  print("Impossible")



if v:

  st=v[0]

  v+=list(range(1,st)[::-1])

  v+=list(range(st+1,n))

  print("Possible")

  for i in v[::-1]:

    print(i)
n,l=map(int,input().split())

*a,=map(int,input().split())

v=[0]



for i in range(n-1):

  if a[i]+a[i+1]>=l:

    v[0]=i+1

    v+=list(range(1,i+1)[::-1])

    v+=list(range(i+2,n))

    print("Possible")

    print(*v[::-1],sep="\n")

    break

else:

  print("Impossible")

from itertools import accumulate as ac

n, l = list(map(int, input().split()))
(*a,) = list(map(int, input().split()))
v = []
for i in range(n - 1):
    if a[i] + a[i + 1] >= l:
        v.append(i + 1)
        break
else:
    print("Impossible")
if v:
    st = v[0]
    v += list(range(1, st)[::-1])
    v += list(range(st + 1, n))
    print("Possible")
    for i in v[::-1]:
        print(i)

n, l = map(int, input().split())
(*a,) = map(int, input().split())
v = [0]
for i in range(n - 1):
    if a[i] + a[i + 1] >= l:
        v[0] = i + 1
        v += list(range(1, i + 1)[::-1])
        v += list(range(i + 2, n))
        print("Possible")
        print(*v[::-1], sep="\n")
        break
else:
    print("Impossible")

-from itertools import accumulate as ac - -n, l = list(map(int, input().split())) -(*a,) = list(map(int, input().split())) -v = [] +n, l = map(int, input().split()) +(*a,) = map(int, input().split()) +v = [0] -        v.append(i + 1) +        v[0] = i + 1 +        v += list(range(1, i + 1)[::-1]) +        v += list(range(i + 2, n)) +        print("Possible") +        print(*v[::-1], sep="\n") -if v: -    st = v[0] -    v += list(range(1, st)[::-1]) -    v += list(range(st + 1, n)) -    print("Possible") -    for i in v[::-1]: -        print(i)