Proyecto funcional.

Demo.