def dot(cellA, cellB):
    """ Performs the dot of two cells
    With R, G, B, defined as above, dot(A,B) = A xor B

    # Function specification:
        For a color S in {0, R, G, B},
        S+ and S- defined in the rot() docstring,
        we can define dot() using this pattern:

            dot(S, S) = 0
            dot(S, 0) = dot(0, S) = S
            dot(S, S+) = dot(S+, S) = S-
            dot(S, S-) = dot(S-, S) = S+

        dot(X, Y) also written X.Y

    # Arguments:
        cell: Integer in {0, R, G, B}

    # Returns:
        An integer {0, R, G, B} representing a cell
    """

    return cellA^cellB