use std::io::Read; use std::collections::HashSet; fn main() { let mut all_data = String::new(); std::io::stdin().read_to_string(&mut all_data).ok(); let abc: Vec = all_data.trim().split('\n').next().unwrap().trim().split_whitespace() .map(|s| s.parse().unwrap()) .collect(); let a = abc[0]; let b = abc[1]; let c = abc[2]; let amount = a + 10*b; let mut uses: HashSet = HashSet::new(); for i in 1..=amount { if a >= i % 10 { // smart if b >= i / 10 { if b - i / 10 + a - i % 10 == c { uses.insert(i); } } // 1 -> 10 if a - i % 10 >= 10 { if b + a - i / 10 - i % 10 - 9 == c { uses.insert(i); } } // 10 -> 1 if b > i / 10 { if b - i / 10 - 1 + a + 10 - i % 10 == c { uses.insert(i); } } } } if uses.is_empty() { println!("Impossible"); } else { println!("{}", uses.iter().min().unwrap()); } }