using System; using System.Collections.Generic; using System.Linq; class P { static int[] w; static bool[][] dp; static bool dfs(int i, int j, int n, int sum, int goal) { bool ret = false; if (dp[i][j]) { return dp[i][j]; } if (goal == sum) { ret = true; } else if (goal < sum || j >= n - 1) { ret = false; } else { ret = dfs(j, j + 1, n, sum + w[j], goal) || dfs(j, j + 1, n, sum, goal); } return dp[i][j] = ret; } static void Main() { int n = int.Parse(Console.ReadLine()); string[] _ = new string[n]; _ = Console.ReadLine().Split(' '); n = _.Length; dp = new bool[n][]; w = new int[n]; int sum = 0; string ans = ""; for (int i = 0; i < _.Length; i++) { dp[i] = new bool[n]; w[i] = int.Parse(_[i]); sum += w[i]; } if (sum % 2 == 0) { sum /= 2; Array.Sort(w); if (sum >= w.Last()) { ans = dfs(0, 1, n, 0, sum) ? "possible" : "impossible"; } else { ans = "impossible"; } } else { ans = "impossible"; } Console.WriteLine(ans); } }