import sys

N,L=list(map(int,input().split()))

A=[int(i) for i in input().split()]

flag=True

a=-1

for i in range(N-1):

    if A[i+1]+A[i]>=L:

        flag=False

        a=i+1

        break

if flag:

    print('Impossible')

    sys.exit()

print('Possible')

for i in range(1,a):

    print(i)

for i in range(N-1,a,-1):

    print(i)

print(a)

import sys

N,L=list(map(int,input().split()))

A=[int(i) for i in input().split()]

s=10**23

for i in range(N-1):

    if A[i]+A[i+1]>=L:

        s=i

        break

if s==10**23:

    print('Impossible')

    sys.exit()

print('Possible')

L=[]

for i in range(s):

    L.append(i+1)

for i in range(N-2,s,-1):

    L.append(i+1)

L.append(s+1)

#print(L,s)

print(('\n'.join(map(str,L))))
import sys

N, L = list(map(int, input().split()))
A = [int(i) for i in input().split()]
flag = True
a = -1
for i in range(N - 1):
    if A[i + 1] + A[i] >= L:
        flag = False
        a = i + 1
        break
if flag:
    print("Impossible")
    sys.exit()
print("Possible")
for i in range(1, a):
    print(i)
for i in range(N - 1, a, -1):
    print(i)
print(a)

import sys

N, L = list(map(int, input().split()))
A = [int(i) for i in input().split()]
s = 10**23
for i in range(N - 1):
    if A[i] + A[i + 1] >= L:
        s = i
        break
if s == 10**23:
    print("Impossible")
    sys.exit()
print("Possible")
L = []
for i in range(s):
    L.append(i + 1)
for i in range(N - 2, s, -1):
    L.append(i + 1)
L.append(s + 1)
# print(L,s)
print(("\n".join(map(str, L))))

-flag = True -a = -1 +s = 10**23 -    if A[i + 1] + A[i] >= L: -        flag = False -        a = i + 1 +    if A[i] + A[i + 1] >= L: +        s = i -if flag: +if s == 10**23: -for i in range(1, a): -    print(i) -for i in range(N - 1, a, -1): -    print(i) -print(a) +L = [] +for i in range(s): +    L.append(i + 1) +for i in range(N - 2, s, -1): +    L.append(i + 1) +L.append(s + 1) +# print(L,s) +print(("\n".join(map(str, L))))