Self solution (6/18)

Self solution