Solve #1 #2 #3 :D