from itertools import combinations
from typing import Tuple


def report_repair_itertools(data) -> Tuple[int, int]:
    """Calculates expense report using itertools.combinations"""
    required_sum = 2020
    data = [int(x) for x in data]

    def prod(l):
        """Returns the product of all items in a list"""
        product = 1
        if 0 in l:
            # failsafe to save time, naturally
            return 0
        for item in l:
            product *= item
        return product
    
    part_1 = prod([item for item in combinations(data, 2) if sum(item) == required_sum][0])
    part_2 = prod([item for item in combinations(data, 3) if sum(item) == required_sum][0])
    return part_1, part_2