part1/a: http://lix.in/47f308 part1/b: http://lix.in/af798b part1/c: http://lix.in/0cc568 part2/a: http://lix.in/ac155e part2/b: http://lix.in/686738