You are given a problemset consisting of $n$ problems. The difficulty of the $i$-th problem is $a_i$. It is guaranteed that all difficulties are distinct and are given in the increasing order.

You have to assemble the contest which consists of some problems of the given problemset. In other words, the contest you have to assemble should be a subset of problems (not necessary consecutive) of the given problemset. There is only one condition that should be satisfied: for each problem but the hardest one (the problem with the maximum difficulty) there should be a problem with the difficulty greater than the difficulty of this problem but not greater than twice the difficulty of this problem. In other words, let $a_{i_1}, a_{i_2}, \dots, a_{i_p}$ be the difficulties of the selected problems in increasing order. Then for each $j$ from $1$ to $p-1$ $a_{i_{j + 1}} \le a_{i_j} \cdot 2$ should hold. It means that the contest consisting of only one problem is always valid.

Among all contests satisfying the condition above you have to assemble one with the maximum number of problems. Your task is to find this number of problems.


-----Input-----

The first line of the input contains one integer $n$ ($1 \le n \le 2 \cdot 10^5$) — the number of problems in the problemset.

The second line of the input contains $n$ integers $a_1, a_2, \dots, a_n$ ($1 \le a_i \le 10^9$) — difficulties of the problems. It is guaranteed that difficulties of the problems are distinct and are given in the increasing order.


-----Output-----

Print a single integer — maximum number of problems in the contest satisfying the condition in the problem statement.


-----Examples-----
Input
10
1 2 5 6 7 10 21 23 24 49

Output
4

Input
5
2 10 50 110 250

Output
1

Input
6
4 7 12 100 150 199

Output
3



-----Note-----

Description of the first example: there are $10$ valid contests consisting of $1$ problem, $10$ valid contests consisting of $2$ problems ($[1, 2], [5, 6], [5, 7], [5, 10], [6, 7], [6, 10], [7, 10], [21, 23], [21, 24], [23, 24]$), $5$ valid contests consisting of $3$ problems ($[5, 6, 7], [5, 6, 10], [5, 7, 10], [6, 7, 10], [21, 23, 24]$) and a single valid contest consisting of $4$ problems ($[5, 6, 7, 10]$).

In the second example all the valid contests consist of $1$ problem.

In the third example are two contests consisting of $3$ problems: $[4, 7, 12]$ and $[100, 150, 199]$.

Difficulty: introductory

Starter code:

Solutions:
n = int(input())
a = list(map(int, input().split()))

ans = [1]
t = 1

for i in range(n - 1):
    if a[i + 1] / a[i] <= 2:
        t += 1

    else:
        t = 1

    ans.append(t)

print(max(ans))


n = int(input())
s = input().split()
for i in range(n):
    s[i] = int(s[i])

ans = 1
curStreak = 1

for i in range(1,n):
    if s[i]<= 2*s[i-1]:
        curStreak+=1
        ans = max(ans,curStreak)
    else:
        curStreak = 1

print(ans)

'''input
6
4 7 12 100 150 199
'''
n = int(input())
a = list(map(int, input().split()))
s = ''.join(['1' if 2*a[i] >= a[i+1] else '0' for i in range(n-1)])
print(len(max(s.split('0'))) + 1) 





n = int(input())
a = list(map(int, input().split()))

if n == 1:
	print(1)
else:
	ans = 1
	num = 1

	for i in range(1, n):
		if a[i] <= 2 * a[i - 1]:
			num += 1
			ans = max(ans, num)
		else:
			num = 1

	ans = max(ans, num)
	print(ans)

n = int(input())
tasks = [int(i) for i in input().split()]
max_seq = [1] * n
for i in range(n-1):
    if tasks[i+1] <= tasks[i] * 2:
        max_seq[i+1] += max_seq[i]
print(max(max_seq))



n = int(input())
line = list(map(int, input().split()))
ans = 1
prev_i = 0
for i in range(1, n):
    if line[i - 1] * 2 >= line[i]:
        continue
    ans = max(i - prev_i, ans)
    prev_i = i
ans = max(n - prev_i, ans)
print(ans)

n = int(input())
lst = list(map(int, input().split()))
ans = 1
cnt = 1
for i in range(1, n):
    if lst[i] <= lst[i - 1] * 2:
        cnt += 1
        if cnt > ans:
            ans = cnt
    else:
        cnt = 1
print(ans)


import bisect
n=int(input())
arr=list(map(int,input().strip().split(' ')))
mx=0
i=n-2
cnt=1
while(i>=0):
    if(2*arr[i]>=arr[i+1]):
        cnt+=1
    else:
        mx=max(cnt,mx)
        cnt=1
    i-=1
print(max(cnt,mx))


def __starting_point():
    n = int(input().strip())
    arr = [int(__) for __ in input().strip().split()]
    if n == 1:
        print(1)
    else:
        cur, ma = 1, 1
        for i in range(1, n):
            if arr[i] <= 2 * arr[i - 1]:
                cur += 1
                ma = max(cur, ma)
            else:
                cur = 1
        print(ma)
__starting_point()

n=int(input())
s=input().split()
l=[int(s[i]) for i in range(n)]

res=1
cnt=1
now=l[0]
for i in range(1,n):
    if now*2>=l[i]:
        now=l[i]
        cnt+=1
    else:
        now=l[i]
        res=max(res,cnt)
        cnt=1
res=max(res,cnt)
print(res)

import sys
f=sys.stdin
out=sys.stdout

n=int(f.readline().rstrip('\r\n'))
arr=list(map(int,f.readline().rstrip('\r\n').split()))

cnt=1
ma=1

for i in range(1,n):
	if arr[i]<=(2*arr[i-1]):
		cnt+=1
		ma=max(ma,cnt)
	else:
		cnt=1
out.write(str(ma)+"\n")

n = int(input())
u = list(map(int, input().split()))
ans = 0
p = 1
for i in range(1, n):
    if u[i - 1] * 2 >= u[i]:
        p += 1
    else:
        if p > ans:
            ans = p
        p = 1
if p > ans:
    ans = p
print(ans)


n=int(input())
D=list(map(int,input().split()))

count=1
ANS=0

for i in range(1,n):
    if D[i]<=2*D[i-1]:
        count+=1
    else:
        if ANS<count:
            ANS=count
        count=1

if ANS<count:
    ANS=count

    #print(i,count,ANS)

print(ANS)


from collections import defaultdict,deque
import sys,heapq,bisect,math,itertools,string,queue,datetime
sys.setrecursionlimit(10**8)
INF = float('inf')
mod = 10**9+7
eps = 10**-7
def inpl(): return list(map(int, input().split()))
def inpl_s(): return list(input().split())

N = int(input())
aa = inpl()
aa.append(INF)
ans = 0
tmp = 1

for i in range(1,N+1):
	if aa[i] <= aa[i-1]*2:
		tmp += 1
	else:
		ans = max(tmp,ans)
		tmp = 1

print(ans)


n = int(input())
array = list(map(int,input().split()))

temp = 1;
maxi = 1;

for i in range(n-1):

	if array[i]*2 >= array[i+1]:
		temp +=1;

		if temp > maxi:
			maxi =temp;
	else:
		temp = 1;

if temp>maxi:
	maxi = temp;

print(maxi)

n = int(input())
a = [int(x) for x in input().split()]
l = 1
max_l = 1
for i in range(n-1):
    if a[i+1] > a[i]*2:
        l = 1
    else:
        l += 1
        max_l = max(max_l, l)
print(max_l)


n = int(input())
a = list(map(int, input().split()))
cnt = 1
ans = 1
for i in range(1, n):
    if a[i] > 2 * a[i - 1]:
        ans = max( ans, cnt )
        cnt = 1
    else:
        cnt += 1
ans = max( ans, cnt )
print(ans)

n=int(input())
l=list(map(int,input().strip().split()))
le=1
lm=0
prev=l[0]
for i in range(1,n):
    if (l[i]<=prev*2):
        le=le+1
        prev=l[i]
    else:
        if (le>lm):
            lm=le
        le=1
        prev=l[i]
if (le>lm):
    lm=le
print (lm)




n = int(input())
nums = list(map(int, input().split()))

i = 0
longest = 1
while i < n - 1:
    length = 1
    while i+1 < n and nums[i]*2 >= nums[i+1]:
        i += 1
        length += 1
    longest = max(longest, length)
    i += 1

print(longest)




n = int(input())
a = list(map(int, input().split()))
a.append(a[n - 1] * 3)

max_ans = 1
ans = 1
for i in range(n):
	if a[i] * 2 < a[i + 1]:
		if ans > max_ans:
			max_ans = ans
		ans = 1
	else:
		ans += 1


print(max_ans)

n = int(input())
a = list(map(int, input().split()))
ans = 1
cnt = 1
for i in range(1, n):
    if a[i - 1] * 2 >= a[i]:
        cnt += 1
    else:
        ans = max(ans, cnt)
        cnt = 1
print(max(ans, cnt))


n = int(input())
A = list(map(int, input().split()))
ans = 1
curr = 1
for i in range(n - 1):
    if 2 * A[i] >= A[i + 1]:
        curr += 1
    else:
        ans = max(curr, ans)
        curr = 1
ans = max(ans, curr)
print(ans)

n = int(input())
a = list(map(int, input().split()))
curr = 1
maxx = 1
for i in range(n - 1):
    if a[i] * 2 < a[i + 1]:
        maxx = max(maxx, curr)
        curr = 1
    else:
        curr += 1
maxx = max(curr, maxx)
print(maxx)

n=int(input())
l=list(map(int,input().split()))
s=1
m=1
i=1
while i<=n-1:
    if l[i]>2*l[i-1]:
        s=1
    else:
        s+=1
    if s>m:
        m=s
    i+=1
print(m)

#JMD
#Nagendra Jha-4096

 
import sys
import math

#import fractions
#import numpy
 
###File Operations###
fileoperation=0
if(fileoperation):
    orig_stdout = sys.stdout
    orig_stdin = sys.stdin
    inputfile = open('W:/Competitive Programming/input.txt', 'r')
    outputfile = open('W:/Competitive Programming/output.txt', 'w')
    sys.stdin = inputfile
    sys.stdout = outputfile

###Defines...###
mod=1000000007
 
###FUF's...###
def nospace(l):
    ans=''.join(str(i) for i in l)
    return ans
 
 
 
##### Main ####
t=1
for tt in range(t):
    n=int(input())
    a=list(map(int,sys.stdin.readline().split(' ')))
    #n,k,s= map(int, sys.stdin.readline().split(' '))
    
    ans=1
    i=0
    while(i<n-1):
        count=1
        while(2*a[i]>=a[i+1]):
            count+=1
            i+=1
            if(i==n-1):
                break
        ans=max(ans,count)
        i+=1
    print(ans)
    
    
#####File Operations#####
if(fileoperation):
    sys.stdout = orig_stdout
    sys.stdin = orig_stdin
    inputfile.close()
    outputfile.close()