training tasks and challenges from codility.com