input) -> None: self.grid = { x + 1j * y: c for y, line in enumerate(input) for x, c in enumerate(line.strip()) } def part1(self) -> int: return Counter( "".join(self.grid.get(p + d * n, "") for n in range(4)) for p in self.grid for d in [1, 1 + 1j, 1j, -1 + 1j, -1, -1 - 1j, -1j, 1 - 1j] )["XMAS"] 21