Flexible Thinking Problem Solving