Veramente un ottimo lavoro, stavo per postarne uno simile, realizzato solamente in c++, ma questo è decisamente migliore.
Rep+ più che meritata.