504_2 500 perfect solution.