Pool of integers to . Players pick unused numbers. First to reach sum wins. Can Player 1 guarantee a win? State: bitmask of used numbers. = true if current player can win from this state. Example: , . From empty mask, try , 2, 3, or 4.
If taking 4 doesn't win immediately, check if opponent loses from resulting mask. Current sum is computed from mask. If , current player wins. Else, recurse and check if any pick leads to opponent's loss.