memoize
tiebreaking with the drunk value