There are *n* kangaroos with pockets. Each kangaroo has a size (integer number). A kangaroo can go into another kangaroo's pocket if and only if the size of kangaroo who hold the kangaroo is at least twice as large as the size of kangaroo who is held.

Each kangaroo can hold at most one kangaroo, and the kangaroo who is held by another kangaroo cannot hold any kangaroos.

The kangaroo who is held by another kangaroo cannot be visible from outside. Please, find a plan of holding kangaroos with the minimal number of kangaroos who is visible.
The first line contains a single integer — *n* (1 ≤ *n* ≤ 5·10<sup class="upper-index">5</sup>). Each of the next *n* lines contains an integer *s*<sub class="lower-index">*i*</sub> — the size of the *i*-th kangaroo (1 ≤ *s*<sub class="lower-index">*i*</sub> ≤ 10<sup class="upper-index">5</sup>).
# Python3 implementation of the approach
 
# Function that returns true if every
# lowercase character appears atmost once
def valid(cnt):
 
    # Every character frequency must
    # be not greater than one
    for i in range(0, 26):
        if cnt[i] >= 2:
            return False
 
    return True
 
# Function that returns the modified
# good string if possible
def getGoodString(s, n):
 
    # If the length of the string is
    # less than n
    if n < 26:
        return "-1"
 
    # Sub-strings of length 26
    for i in range(25, n):
 
        # To store frequency of each character
        cnt = [0] * 26
 
        # Get the frequency of each character
        # in the current sub-string
        for j in range(i, i - 26, -1):
            if s[j] != '?':
                cnt[ord(s[j]) - ord('a')] += 1
 
        # Check if we can get sub-string
        # containing the 26 characters all
        if valid(cnt):
 
            # Find which character is missing
            cur = 0
            while cur < 26 and cnt[cur] > 0:
                cur += 1
 
            for j in range(i - 25, i + 1):
 
                # Fill with missing characters
                if s[j] == '?':
                    s[j] = chr(cur + ord('a'))
                    cur += 1
 
                    # Find the next missing character
                    while cur < 26 and cnt[cur] > 0:
                        cur += 1
 
            # Return the modified good string
            return ''.join(s)
 
    return "-1"
 
# Driver code
if __name__ == "__main__":
 
    s = "abcdefghijkl?nopqrstuvwxy?"
    n = len(s)
 
    print(getGoodString(list(s), n))
			 	  	   	       	 	  	    	