##Things to note
-
You can use any mainstream object oriented language of your choice, so long as your solution builds and runs on linux. You should be fine if you favour say, Java, Ruby, Python or Javascript.
-
Please ensure that you follow the syntax and formatting of both the input and output samples. We validate submissions using automated tests.
-
We are really, really interested in your object orientated development skills, so please solve the problem keeping this in mind.
-
Unit tests are mandatory, so please ensure that all your code has tests/specs.
-
Please ensure that the coding conventions, directory structure and build approach of your project follow the conventions set by popular open source projects in the language that you're using.