fn main [ var lines := list_break_to_lines(read_lazy(h[0])); var sections := list_break(lines, ""); var ranges := empty(tuple2(int, int)); for l in sections[0] do [ var ll := list_break(l, '-'); ranges +<= mktuple2(ston(ll[0]), ston(ll[1])); ] var fresh := 0; for l in sections[1] do [ var n := ston(l); for i := 0 to len(ranges) do [ if n >= ranges[i].v1, n <= ranges[i].v2 then [ fresh += 1; break; ] ] ] write(h[1], ntos(fresh) + nl); ]