Python solution to problem 1