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>).
from collections import defaultdict as dd, deque as dq, Counter as ctr
from itertools import accumulate
from re import findall
import re
import sys



input = lambda: sys.stdin.buffer.readline().decode('utf-8').rstrip('\r\n')
 
from bisect import bisect_left as bl
from bisect import bisect_right as br
from array import array

inp = lambda: int(input())
mi = lambda x=int : map(x, input().split())
arr= lambda d='i',x=int: array(d,mi(x))
li = lambda x=int: list(mi(x))
lb = lambda x=int: list(map(x, input()))
ls = lambda: list(input())
bi = lambda n: bin(n).replace("0b", "")

def sbsq(a,s):
    i=0
    for x in s:
        if i>=len(a):
            break
        if x==a[i]:
            i+=1
    return i==len(a)

yn = ['No', 'Yes']
YN = ['NO', 'YES']
YY = "YES"
NN = "NO"
yy = "Yes"
nn = "No"
alp='abcdefghijklmnopqrstuvwxyz'
inf= sys.maxsize
mod=1000000007

from math import ceil,sqrt,gcd,log
import heapq as hq


def isPrime(n):
    # if n <= 1:
    #     return True
    if n <= 3:
        return True
    if n % 2 == 0 or n % 3 == 0:
        return False
    i = 5
    while i * i <= n:
        if n % i == 0 or n % (i + 2) == 0:
            return False
        i = i + 6
    return True

# print =lambda x: sys.stdout.buffer.write(x.encode('utf-8'))
# mod=998244353




def main(kase):
    n=inp()
    l=[inp() for i in range(n)]
    l.sort()
    vstd=[False]*n
    pt=n//2
    i=0
    ans=n
    while pt<n:
        while pt<n and l[i]*2>l[pt]:
            pt+=1
        if pt==n:
            break
        else:
            ans-=1
            pt+=1
        i+=1
    print(ans)


    pass
if __name__ == "__main__":
    test_Cases=1
    # test_Cases=inp()
    for i in range(test_Cases):
        main(i)