local input = importstr './input';
local parsedInput = [[[std.parseInt(z) for z in std.split(y, '-')] for y in std.split(x, ',')] for x in std.split(input, '\n')];
local part1 = std.sum([
if ((x[0][0] >= x[1][0] && x[0][1] <= x[1][1]) || (x[1][0] >= x[0][0] && x[1][1] <= x[0][1])) then 1 else 0
for x in parsedInput
]);
local part2 = std.sum([
if (x[0][0] <= x[1][1] && x[0][1] >= x[1][0]) then 1 else 0
for x in parsedInput
]);
{
part1: part1,
part2: part2,
}