Implement a ContactManager class that keeps contacts in memory.
add(first, last, phone) stores a contact and returns its id; ids start at 1 and are never reusedremove(id) deletes a contact and returns true, or false when there is no such contactsearch(prefix) returns every contact whose first name, last name or phone starts with the prefix, ignoring case, as strings of the form "first last phone", in the order the contacts were added- A contact that matches through several fields appears once, and an empty prefix returns
[] - A search should cost time proportional to the prefix length plus the number of matches, so do not scan every contact