add problem 17
add problem 20
add problem 19