Self solution (15/18)

Self solution