Euclidea : This is a whole science that will teach you to solve from simple to the most difficult tasks.