#pragma once struct Point { size_t x = 0; size_t y = 0; bool operator==(const Point& other) const { return other.x == x && other.y == y; } }; typedef std::vector PointList; struct PointHash { size_t operator()(const Point& p) const { return std::hash()(p.x) ^ std::hash()(p.y); } };