Self solution (5/18)

Self solution