Why Can Large Language Models Generate Correct Chain-of-Thoughts?