
let rec input n xs
    = if n = 0 then
        xs
      else
        let a = Scanf.scanf "%d " (fun a -> a) in
        input (n-1) (a :: xs)

let rec output1 l r
    = if l <= r then (
        Printf.printf "%d\n" l;
        output1 (l+1) r )

let rec output2 l r
    = if l >= r then (
        Printf.printf "%d\n" l;
        output2 (l-1) r)


let rec solve xs i l
    = if List.length xs = i+1 then
          print_endline "Impossible"
      else if (List.nth xs i) + (List.nth xs (i+1)) >= l then (
          print_endline "Possible";
          output1 1 i;
          output2 (List.length xs - 1) (i+2);
          Printf.printf "%d\n" (i+1) )
      else
          solve xs (i+1) l

let _ =
    let n, l = Scanf.scanf "%d %d " (fun n l -> n, l) in
    let a = input n [] in
    let a = List.rev a in
    solve a 0 l
