Implemented solution for 3.11
Implemented solution for 3.12
Refactored 3.11 to use the  method from 3.8
Refactored the solutions a little