directions = [
[([x, y]) => [-1, 0, 1].map((dx) => [x + dx, y - 1]), [0, -1]],
[([x, y]) => [-1, 0, 1].map((dx) => [x + dx, y + 1]), [0, +1]],
[([x, y]) => [-1, 0, 1].map((dy) => [x - 1, y + dy]), [-1, 0]],
[([x, y]) => [-1, 0, 1].map((dy) => [x + 1, y + dy]), [+1, 0]]
]