#include <bits/stdc++.h>
int a[100006], b[100006];
void merge_sort(int left, int right) {
  if (left >= right) return;
  int x = (left + right) / 2;
  merge_sort(left, x);
  merge_sort(x + 1, right);
  int j = x + 1;
  int i = left;
  int k = left;
  while (i <= x && j <= right) {
    if (a[i] <= a[j])
      b[k++] = a[i++];
    else
      b[k++] = a[j++];
  }
  while (i <= x) b[k++] = a[i++];
  while (j <= right) b[k++] = a[j++];
  for (int g = left; g <= right; g++) a[g] = b[g];
}
int unique(int n) {
  int i = 1;
  int j = 2;
  for (; j <= n; j++) {
    if (a[j] != a[j - 1]) {
      a[++i] = a[j];
    }
  }
  return i;
}
int main() {
  int n;
  int flag;
  while (scanf("%d", &n) == 1) {
    for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
    merge_sort(1, n);
    int right = unique(n);
    flag = 0;
    for (int i = 1; i < right; i++) {
      flag = 0;
      if (a[i] < a[i + 1]) {
        if (a[i] * 2 > a[i + 1]) {
          printf("YES\n");
          flag = 1;
          break;
        }
      }
    }
    if (flag == 0) printf("NO\n");
  }
  return 0;
}
