Added comments along the whole program.

Now it is easy to understand!!!!