Lots of thinking required on the third stage. Good thing the main character is very smart!
I spent a lot of time waiting for Cirno to unfreeze herself because the blocks kept getting thrown inside walls.