You have n cards. Each card has some integer value, and some letter written on it. You also have n slots in a row. Each slot has some required value.
You must place the cards in the slots such that each slot contains a card with a value greater than or equal to the required value of that slot. You must order the cards such that the string formed by reading the letters on the cards from left to right comes as early as possible lexicographically while not violating the first rule.
You are given a int[] values and a String letters, the ith elements of which are the value and letter, respectively, of the ith card. You are also given a int[] required, the ith element of which is the required value of the ith slot. The slots are ordered from left to right. Place the cards into the slots as described above and return the resulting string. If there is no valid way to fill the slots, return an empty string instead.
