fn main [ var lines := list_break_to_lines(read_lazy(h[0])); var sum := 0; for l in lines do [ var m := list_break_whitespace(l); var target := 0; for i := 0 to len(m[0]) - 2 do [ if m[0][i + 1] = '#' then target bts= i; ] var buttons := empty(int); for i := 1 to len(m) - 1 do [ var s := m[i][1 .. len(m[i]) - 1]; var n := map(list_break(s, ','), ston); var b := 0; for j := 0 to len(n) do b bts= n[j]; buttons +<= b; ] var result := len(buttons); for i := 0 to 0 bts len(buttons) do [ var x := 0; for j := 0 to len(buttons) do if i bt j then x xor= buttons[j]; if x = target then result := min(result, popcnt i); ] sum += result; ] write(h[1], ntos(sum) + nl); ]