Solution #50
Solution #44