Working solution (20/48)

Working solution