Implement a phone book that allows adding contacts with the following information for each contact:
- Name
- Phone number
- E-mail address
The phone book should allow listing available contacts and searching through them. Listed contacts should be sorted alphabetically by Name. A user should be able to search for a contact using a query that represents either a contact name or a contact phone number. A user should also be able to remove a contact from the phone book. The phone book can hold up to 10,000 contacts.