Bello enigma, complimenti!

Anch'io tempo fa avevo avuto la stessa necessità, ma la mia soluzione era così complicata che non volevo postarla...