Application: A Text Concordance A text concordance is an alphabetical listing of all the distinct words in a piece of text. You are to write a program to construct a concordance for a document stored in a file. The words are to be stored in an array or vector of twenty six binary search trees. Version 1: Write a program that: 1. Declares concord to be an array or vector of 26 BSTs, one for each letter of the alphabet. Words that being with 'a' or 'A; will be stored in the BST at concord[0], those that begin with 'b' or 'B' in the BST at concord[1], b& ; in general, words that begin with character ch will be stored in the BST at concord[upch - 'A'], where upch is the uppercase equivalent of ch. 2. Reads words from a file and for each word: a. Searches the appropriate BST for the uppercase equivalent of that word. b. If it's not found, inserts the uppercase equivalent of that word into the BST. (Note: If you use >>, it will read a word at a time.) 3. Displays the concordance with the words in alphabetical order. Example: Ants and bats and cows and cats are animals. Cows are big, but ants are small, and cats are in between. Second Version Version 2: In addition to words, concordances usually store a list of all numbers of pages on which that word appears. Modify the concordance so that the BSTs store words, and for each word, a linked list of all numbers of lines on which that word appeared in the input text. When the concordance is output, the words should be in alphabetical order, and for each word, the line numbers in ascending order. Example: Ants and bats and cows and cats are animals. Cows are big, but ants are small, and cats are in between. A Letter: DEAR MARLIN: THE AARDVARKS AND THE CAMELS WERE MISTAKENLY SHIPPED TO THE AZORES. SORRY ABOUT THAT! SINCERELY, JIM