We have N pieces of ropes, numbered 1 through N. The length of piece i is a_i.  At first, for each i (1≤i≤N-1), piece i and piece i+1 are tied at the ends, forming one long rope with N-1 knots. Snuke will try to untie all of the knots by performing the following operation repeatedly:    * Choose a (connected) rope with a total length of at least L, then untie one of its knots.  Is it possible to untie all of the N-1 knots by properly applying this operation? If the answer is positive, find one possible order to untie the knots.
N,L = map(int,input().split())

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

imp = 0
for i in range(N-1):
    if a[i]+a[i+1]>=L:
        break
else:
    print("Impossible")
    imp = 1

#possible
if imp==0:
    for j in range(i):
        print(j+1)
    for j in range(N-1,i+1,-1):
        print(j)
    print(i+1)
N,L = map(int,input().split())

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

imp = 0
for i in range(N-1):
    if a[i]+a[i+1]>=L:
        break
else:
    print("Impossible")
    imp = 1

#possible
if imp==0:
    print("Possible")
    for j in range(i):
        print(j+1)
    for j in range(N-1,i+1,-1):
        print(j)
    print(i+1)