Reasoning with Exploration