```python
def minimax_pair_sum(first: list[int], second: list[int]) -> int:
    if len(first) != len(second):
        raise ValueError("Lists must be of equal length")
    if not first or not second:
        raise ValueError("Lists must not be empty")

    sorted_first = sorted(first)
    sorted_second = sorted(second, reverse=True)

    return max(a + b for a, b in zip(sorted_first, sorted_second))
```