Improved 46 solution