A2.1 : __VERIFIED_BY_CGK__
A2.2 : __VERIFIED_BY_CGK__
A2.3 : Rewriting of assingment
A2.4 : Almost no changes, Fucking Perfect