Programming Problem (Courtesy of Dr. Abrahamson, with some slight modifications). Claude is a mountain climber. He has a book listing mountains and their elevations. Claude decides to climb some of the mountains listed in the book, but makes the following restrictions on the order in which he climbs them. 1. He must climb them in strictly increasing order of elevation. So if he climbs mountain A today and mountain B tomorrow, then mountain B is higher than mountain A. 2. He must climb them in the order in which they are listed in the book. So if he climbs mountain A today and mountain B tomorrow, then mountain B is listed later than mountain A in the book. Claude enjoys climbing mountains, so he would like to find a longest possible sequence of mountains to climb that satisfies conditions 1 and 2. If there is more than one longest sequence, any one will do; Claude has no preference of one over another. Write a program that reads the contents of the book, and prints a longest possible sequence of mountains to climb. The input has one mountain per line, in the format name elevation where name is a string of from one to twenty characters containing no blanks, name is followed by a blank, and elevation is a positive integer no larger than 1,000,000. The input is in the order in which the entries appear in the book. You may assume that the book contains no more than 1000 entries. The output should list the mountains by name and elevation, in the order in which they should be climbed.