use std::cmp::min; fn main() { let mut l123 = String::new(); std::io::stdin().read_line(&mut l123).ok(); let l123: Vec = l123.trim().split_whitespace().map(|s| s.parse().unwrap()).collect(); let l1 = 2 * (l123[0] + l123[1]); let l2 = 2 * (l123[1] + l123[2]); let l3 = 2 * (l123[2] + l123[0]); let l: Vec = vec!{l1,l2,l3}; let mut rby = String::new(); std::io::stdin().read_line(&mut rby).ok(); let rby: Vec = rby.trim().split_whitespace().map(|s| s.parse().unwrap()).collect(); let mut result = 1_000_000_000; let perms: Vec<(usize, usize, usize)> = vec!{ (0,1,2), (0,2,1), (1,0,2), (1,2,0), (2,0,1), (2,1,0) }; for i in perms.iter() { for j in perms.iter() { result = min(result, l[i.0]*rby[j.0] + l[i.1]*rby[j.1] + l[i.2]*rby[j.2]); } } println!("{}", result); }