496. Problem solving