Self solution (4/18)

Self solution