from typing import List


def GetAdjacentCells(x: int, y: int, simulation_map: List[List[int]]) -> List[int]:
    """Get values from the cells that surround the provided cell.
    """
    output = []

    # generate the surroundings in the order of the `DIRECTIONS` array
    # namely, 0 -> Up -> output[0] is the cell's value that is above provided position
    for i in [-1, 1]:
        output.append(simulation_map[x + i][y])
    for i in [-1, 1]:
        output.append(simulation_map[x][y + i])

    return output