Consider the following cd: Grammar ~ {Statement}. Statement = NonTerminal "=" Expression ".". Expression ~ Term {"|" Term}. Term ~ Factor {Factor}. Factor : NonTerminal | Terminal | Compound | Bracketed | Curlyed. Compound = "(" Expression ")". Bracketed = "[" Expression "]". Curlyed = "{" Expression "}". NonTerminal = Ident. Terminal = String. Unfortunately, this cd is not self-describing, but almost. When you put the above cd in file g.cd and also into file g.input and you use the following g.beh file: Main { {{ public static void main(String args[]) throws Exception { Grammar g = Grammar.parse(System.in); System.out.println(" done "); } }} } you will get syntax error messages when you run the program. Your task is to find a small change to g.input that makes it a legal input. The two changes are of the following form: Replace all occurrences of UNKNOWN1 by UNKNOWN2. Replace all occurrences of UNKNOWN3 by UNKNOWN4. Find the UNKNOWNs.