Little Greedy got a board for his birthday. The board has rows and columns, and has a lowercase letter of the English alphabet in each field. During his birthday party, everyone got bored so they decided to play a simple board game.
The game begins with placing a chip on the upper left field labeled with coordinates . In each turn, we must move the chip one field to the right or down, given the constraint that it remains on the board. The game ends with moving the chip to the lower right field of the board labeled with coordinates . During the game, we take note of the array of characters we form by moving the chip and therefore constructing a word. The goal of the game is to find the lexicographically smallest word.
The player(s) that will succeed in constructing the lexicographically smallest word get a bag of candy as a prize. Greedy wants to win the candy at any price, so he is asking you to write a programme that will find the lexicographically smallest possible word.
Please note: The lexicographic order of words is the one in which the words appear in a dictionary. If we have two words, and the words differ in the first letter, then the smaller word is the one with the letter that comes first in the alphabet.
The first line of input contains integers and , separated by space .
The following lines contain lowercase letters of the English alphabet that represent the board.
You must output the lexicographically smallest word.
In test cases worth points total, it will hold that, for each field, the letters located to the right and below will be different.
Sample Input 1
4 5 ponoc ohoho hlepo mirko
Sample Output 1
Explanation for Sample Output 1
One way of constructing the smallest word is illustrated in the following image:
Sample Input 2
4 5 bbbbb bbbbb bbabb bbbbb
Sample Output 2
Sample Input 3
2 5 qwert yuiop
Sample Output 3