add problem1
add problem1 solution
refactor problem1 solution