Assignment 3 ____PART ONE____ Write a BCPL program that accepts strings from the user and builds them into a binary tree. Whenever the user types * as the input string, your program should print out the entire contents of the tree in alphabetical order, then delete the entire tree, starting again with an empty one. ____PART TWO____ Write your own newvec() and freevec() and demonstrate that they work by using them in your solution to part 1. They don't need to be the most sophisticated newvec and freevec imaginable, but they should at least recombine neighbouring free chunks into one.