use std::io; use std::io::BufRead; fn main() { let stdin = io::stdin(); let input: Vec<_> = stdin.lock().lines().map(|r| r.unwrap()).collect(); let w: Vec = input[1].split_whitespace().map(|s| s.parse().unwrap()).collect(); let n = w.len() as u32; println!("{}", if is_possible(0, 0, 0, n, &w) {"possible"} else {"impossible"}); } fn is_possible(num_used: u32, wl: u32, wr: u32, n: u32, ws: &[u32]) -> bool { if num_used == n { return wr == wl; } let num_used_next = num_used + 1; let w = ws[num_used as usize]; return is_possible(num_used_next, wl + w, wr, n, ws) || is_possible(num_used_next, wl, wr + w, n, ws); }