def score(board):
    """
    This function takes a nested list of numbers representing a Reversi
    board and returns the score of player 1 and 2 out of that board.
    
    :param board:   nested list of integers that represent a Reversi board
    :returns:       a tuple (s1, s2) representing the points of player 1 and 2
    :pre-condition: board must be a nested list of numbers (should be 8 * 8)
    :raises:        TypeError, if pre-condition is not true
    """    
    s1, s2 = 0, 0
    for row in board:
        s1 += row.count(1)
        s2 += row.count(2)
    return s1, s2