ThoughtWorks Coding Challnge