Read the entire assignment carefully before beginning. In this assignment, you?re going to develop a simulated community message board that monitors items wanted and items for sale and looks for matches. When a match is found, e.g. there is a bike for sale for $50 and a bike wanted, where the buyer will pay up to $60, then the item is removed from the message board. There is a file in the end called messageBoard.txt that includes up to 100 wanted or for sale items in five categories: bicycle, microwave, dresser, truck, or chicken. Each line in the file is one item. Your program needs to open the file, read each line, and use an array of structs to store the available items. You can assume there will never be more than 100 lines in the file. You can declare an array with a fixed size of 100. Your program needs to read the file until it reaches the end, you can?t assume there will always be 100 lines. Each struct represents an item and has a type, such as bicycle or truck, a price, and whether it is for sale or wanted. (You can treat for sale or wanted as an integer or Boolean, where 0 is for sale and 1 is wanted, for example.) The struct array represents the message board. As lines are read from the file, representing new items being posted to the message board, compare the item to existing items in the object array to search for a match. If a match is not found in the array, add the item to the array at the first unused position, e.g. if there are four items, add the item to position five. If a match is found, do not add the new item to the array and remove the matched item that is already in the array. Shift the array to fill the gap left by the removed item. Write the action performed to the terminal formatted as , such as Bicycle 50. Your printing should be done with the command: cout Count operations For this program, we?re going to define an operation as any step, or set of steps, in the program that scales with the number of data points, either the lines in the file or items in the array. For example, the block of code needed to read each line from the file is considered an operation because the number of items in the file can change if you use a different input file. The code needed to search the message board is also considered an operation because the size of the message board will change as items are added and removed. However, processing each column for each line read from the file is part of the file-read operation because the number of columns is constant for all lines in the file. You also don?t need to count the code that runs when the item is found in the array, but you do need to count the operations needed to shift the array. At the end of your program, after displaying the items left on the message board, display the total number of operations to run the program. The count should be displayed on its own line, formatted as: cout?operations:? for the read from the file. When the first sale occurs, all operations to complete the sale should be the sum of: 1 for the read from the file, x for the number of steps it takes to find the matching item in the array, and y for each shift in the contents of the array. Format and ordering of program output You will be submitting your assignment to the COG autograder, so it?s important that the output of your program is formatted and ordered in a certain way. You should use the cout statements given in the above sections and output your results in the following order: Items sold. # Items remaining in the message board after reading all lines in the file. # Number of operations Use the # as the delimiter for each output type, the COG autograder will look for that character. Don?t output anything other than what?s specified, it will confuse COG. Even the seemingly harmless newline character could spell doom The messageBoard.txt link is not given here please adjust about that.!!!!