problem 006
problem 012