def riffle(*args):
    """riffle(*args)

    Riffles lists of equal length.

    The resulting list alternates between elements of each of the input lists.
    """

    n = len(args)

    # Verify that all lists are the same length
    for i in range(1, n):
        if len(args[0]) != len(args[i]):
            raise ValueError("riffled lists must be the same length")
    
    return [args[i%n][i//n] for i in range(n*len(args[0]))]