#38 solution
#43 solution
#46 solution
#47 solution
#22 solution
#19 solution
#17 solution
#66 solution
#21 solution
#56 solution
#57 solution
#111 solution
#107 solution