Mathematical Thinking for Olympiad