#22 solution