Self solution (7/18)

Self solution