Edited solution for problem 3