Coding exercise for Software Developer position by Zachary Yang