#include <bits/stdc++.h>
int min(int a, int b) { return a > b ? b : a; }
int max(int a, int b) { return a < b ? b : a; }
void swap(int* a, int* b) { *a = *a + *b - (*b = *a); }
int a[100100];
void just(int a[], int left, int right) {
  if (left >= right) return;
  int l = left, r = right, x = a[(right + left) / 2];
  while (l < r) {
    while (l < r && a[l] < x) l++;
    while (l < r && a[r] > x) r--;
    if (l < r) {
      if (a[l] > a[r]) {
        int t = a[l];
        a[l] = a[r];
        a[r] = t;
      } else
        l++;
    }
  }
  just(a, left, l - 1);
  just(a, l + 1, right);
}
int main() {
  int n;
  scanf("%d", &n);
  int i, j, k;
  for (i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
  }
  just(a, 1, n);
  int x, y, z;
  for (i = 1; i < n; i++) {
    x = a[i];
    y = a[i + 1];
    if (2 * x > y && x != y) {
      printf("YES");
      return 0;
    }
  }
  printf("NO");
  return 0;
}
