def key_by_tollbooth_month(element):
    """
    Most Beam combiners are designed to work on a (key, value) tuple row.

    Input rows are normalized into a tuple where the first element contains the keys
    and second elements contains the values for combiners

    Beam allows for multi keys and values by accepting a tuple of tuples:
    ((k1, k2, ...), (v1, v2, v3, ...))
    """
    # create a multiple key (tollbooth, month) key with single value (total) tuple
    return (element['tollbooth'], element['month']), element['total']