Solutions by ndelucca.