Add solution 4. It seems this time the official solution is no better than mine.
lzhou7-T530-Win7|MINGW32-Git
Add solution 5. Actually for this one I think the official solution is much more complicated than my solution.
lzhou7-T530-Win7|MINGW32