main = do n <- readLn :: IO Int ws <- (map read . words) <$> getLine let e = (sum ws) `div` 2 let ws' = filter (<= e) ws putStrLn $ if (odd $ sum ws) || (sum ws' < e) then "impossible" else resolve e ws' resolve e ws = resolve' 0 ws ws where resolve' :: Int -> [Int] -> [Int] -> String resolve' _ [] [] = "impossible" resolve' _ [] (p:ps) = resolve' 0 ps ps resolve' s (q:qs) ps | s == e = "possible" | null qs = if s + q == e then "possible" else resolve' s qs ps | otherwise = resolve' (s+q) qs ps