problem #44
problem #45