#include <bits/stdc++.h>
#pragma G++ optimize(2)
using namespace std;
long long read() {
  char ch = ' ', last;
  long long ans = 0;
  while (ch < '0' || ch > '9') last = ch, ch = getchar();
  while (ch >= '0' && ch <= '9') ans = ans * 10 + int(ch - '0'), ch = getchar();
  if (last == '-') return -ans;
  return ans;
}
void write(long long x) {
  if (x >= 10) write(x / 10);
  putchar(x % 10 + '0');
}
int n, a[200005], dp[200005], ans;
void init() {
  n = read();
  for (int i = 1; i <= n; i++) a[i] = read();
}
int main() {
  init();
  for (int i = 1; i <= n; i++) {
    dp[i]++;
    int l = 1, r = n;
    while (l < r) {
      int mid = (l + r) / 2;
      if (mid == l) {
        l++;
        if (a[i] * 2 < a[l]) l--;
        break;
      }
      if (a[i] * 2 < a[mid])
        r = mid - 1;
      else
        l = mid;
    }
    if (l != i) dp[l] += dp[i];
  }
  for (int i = 1; i <= n; i++) ans = max(ans, dp[i]);
  cout << ans << endl;
  return 0;
}
