solved problem 46
enhanced problem 46
solved problem 47, updated problem 46
solved problem 48, updated problem 47
solved problem 49