import itertools


def solution(integers):
    """
    Finds the integers that sum to 2020 and returns their product.
    Raises `ValueError` if there is no solution.
    """
    inverse = {}
    for (a, b) in itertools.combinations(integers, 2):
        inverse[2020 - a - b] = a * b

    for n in integers:
        if n in inverse:
            return n * inverse[n]

    raise ValueError('no solution found')