def place(state, x, y, symbol):
    """
    In the current `state`, player `symbol` makes a mark at place `x`, `y`.
    Returns a new, copied `state`.
    """
    state = list(state)
    assert state[y * 3 + x] is None
    state[y * 3 + x] = symbol
    return tuple(state)