Objectives 1. Understand the design, implementation, usage and limitation of a Linked List ADT 2. Gain experience implementing abstract data t types using already developed data structures Recognize and practice possible linked list applications. 3. Overview In this project, you should write a simple line editor. Keep the entire text on a linked list, one line in a separate node. Start the program with entering EDIT file, after which a prompt appears along with the line number. If the letter I is entered with a number n following it, then insert the text to be followed before line n. If I is not followed by a number, then insert the text before the current line. If D is entered with two numbers n and m, one n, or no number following it, then delete lines n through m, line n, or the current line. Do the same with the command L, which stands for listing lines. If A is entered, then append the text to the existing lines. Entry E signifies exit and saving the text in a file. Here is an Example: EDIT testfile 1> The first line 2> 3> And another line 4>I 3 3 The second line 4> One more line 5> L 1> The first line 3 The second line 4> One more line 5 And another line 5> D 2 4> L // This is now line 5, not 3; // line 5, since L was issued from line 5 //line 4, since one line was deleted; 1 The first line 2> The second line 3> One more line 4> And another line 4> E // this and the following lines // now have new numbers Solution.