solve the palindrome partitioning problem.