f::Integer->Integer->Integer->[(Integer,Integer)]->Integer f ans _ _ [] =ans f ans s n ((0,y):xs)=f ans s n xs f ans s n ((x,y):xs)=let ans2=ans+(s*y) in if (n `mod` 100)==0 then f ans2 (s*2) 1 ((x-1,y):xs) else f ans2 s (n+1) ((x-1,y):xs) main =do t<-getLine let (a:b:c:d:[])=map read (words t)::[Integer] putStrLn $ if d==10 then "Impossible" else "Possible\n"++(show (f 0 1 1 ((b,50):(a,100):[])))