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

A = list(map(int,input().split()))



last = -1

for i,(a,b) in enumerate(zip(A,A[1:])):

    if a+b >= L:

        last = i+1

        break

else:

    print('Impossible')

    exit()



print('Possible')

ans = [n for n in range(1,last)] + [n for n in range(N-1,last,-1)]

ans.append(last)

print(*ans, sep='\n')

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

A = list(map(int,input().split()))



last = -1

for i,(a,b) in enumerate(zip(A,A[1:])):

    if a+b >= L:

        last = i

        break

if last < 0:

    print('Impossible')

    exit()

print('Possible')



ans = list(range(1,i+1)) + list(range(N-1,i,-1))

print(*ans, sep='\n')

N, L = map(int, input().split())
A = list(map(int, input().split()))
last = -1
for i, (a, b) in enumerate(zip(A, A[1:])):
    if a + b >= L:
        last = i + 1
        break
else:
    print("Impossible")
    exit()
print("Possible")
ans = [n for n in range(1, last)] + [n for n in range(N - 1, last, -1)]
ans.append(last)
print(*ans, sep="\n")

N, L = map(int, input().split())
A = list(map(int, input().split()))
last = -1
for i, (a, b) in enumerate(zip(A, A[1:])):
    if a + b >= L:
        last = i
        break
if last < 0:
    print("Impossible")
    exit()
print("Possible")
ans = list(range(1, i + 1)) + list(range(N - 1, i, -1))
print(*ans, sep="\n")

-        last = i + 1 +        last = i -else: +if last < 0: -ans = [n for n in range(1, last)] + [n for n in range(N - 1, last, -1)] -ans.append(last) +ans = list(range(1, i + 1)) + list(range(N - 1, i, -1))