Self solution (10/18)

Self solution