-- yukicoder My Practice -- author: Leonardone @ NEETSDKASU -- http://yukicoder.me/problems/19 import Data.List main = do n <- getLine w <- getLine putStrLn $ main' n w main' n ws = let w = reverse $ sort $ map read $ words ws s = sum w h = s `div` 2 in if h * 2 == s && solve h [0] [] w then "possible" else "impossible" solve _ _ _ [] = False solve s [] ls (x:xs) = solve s ls [] xs solve s (t:ts) ls (x:xs) | y == s = True | y > s = solve s ts zs (x:xs) | y < s = solve s ts (y:zs) (x:xs) where y = x + t zs = (t:ls)