from typing import Tuple


def calculate_unmatched_exposure(ub: list, ul: list) -> Tuple:
    """Calculates worse-case exposure based on list
    of (price, size)
    returns the tuple (profit_if_win, profit_if_lose)

    The worst case profit_if_win arises if all lay bets are matched and the selection wins.
    The worst case profit_if_lose arises if all back bets are matched and the selection loses.

    """
    if not ub and not ul:
        return 0.0, 0.0
    back_exp = sum(-i[1] for i in ub)
    lay_exp = sum((i[0] - 1) * -i[1] for i in ul)
    return round(lay_exp, 2), round(back_exp, 2)