from typing import List


def find_available_row(column: int, board: List[list]) -> int:
    """Return the first available row  (board[row][column] == 0) relative to the bottom. If no row is available
    in the specified column, -1 returned.

    The following assumes the board is 4 by 5. However, works for any sized board.
    >>> board = [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 2], [0, 1, 2, 0, 1]]
    >>> find_available_row(4, board)
    1
    >>> board == [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 2], [0, 1, 2, 0, 1]]
    True
    >>> board = [[0, 0, 0, 2, 0], [0, 0, 0, 1, 0], [0, 0, 0, 2, 2], [0, 1, 2, 1, 1]]
    >>> find_available_row(3, board)
    -1
    >>> board == [[0, 0, 0, 2, 0], [0, 0, 0, 1, 0], [0, 0, 0, 2, 2], [0, 1, 2, 1, 1]]
    True
    """

    for row in range(len(board) - 1, -1, -1):
        if board[row][column] == 0:
            return row
    return -1