Working solution (18/48)

Working solution