uva 10651 memoized