My (untidied) answers for Learnyouanode