use std::ops::Add; pub fn solve(puzzle: String) -> u64 { let mut solution: u64 = 0; let points = puzzle .lines() .map(|line| line.split_once(',').unwrap()) .map(|(left, right)| (left.parse::().unwrap(), right.parse::().unwrap())) .collect::>(); points.iter().enumerate().for_each(|(i, point1)| { points.iter().skip(i).for_each(|point2| { solution = solution.max(point1.0.abs_diff(point2.0).add(1) * point1.1.abs_diff(point2.1).add(1)); }) }); solution }