use std::io::Read; fn main() { let mut s = String::new(); std::io::stdin().read_to_string(&mut s).ok(); let v: Vec = s.split_whitespace().flat_map(str::parse).collect(); let (n, mut w, mut a) = (v[0] as usize, -1, 0); for b in 1..1 << n { let mut x = 0; for i in 0..n { if b & 1 << i != 0 { x += v[i + 1]; for j in i + 1..n { if b & 1 << j != 0 { x += v[(i + 1) * n + j + 1]; } } } } if x > w { w = x; a = b; } } println!( "{w}\n{}", (0..n) .flat_map(|i| { if a & 1 << i != 0 { Some((i + 1).to_string()) } else { None } }) .collect::>() .join(" ") ) }