#include <bits/stdc++.h>
using namespace std;
string to_string(char s) { return string(1, s); }
string to_string(string s) { return "\"" + s + "\""; }
template <typename T>
string to_string(vector<T>);
template <typename U, typename V>
string to_string(pair<U, V> p) {
  return "(" + to_string(p.first) + ", " + to_string(p.second) + ")";
}
template <typename T>
string to_string(vector<T> v) {
  string res = "[";
  for (int i = 0; i < (int)v.size() - 1; i++) res += to_string(v[i]) + ", ";
  if (!v.empty()) res += to_string(v.back());
  res += "]";
  return res;
}
set<int> x;
vector<int> y;
int n, a;
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    scanf("%d", &a);
    if (x.count(a) == 0) {
      x.insert(a);
      y.push_back(a);
    }
  }
  sort(y.begin(), y.end());
  bool poss = true;
  for (int i = 1; i < (int)y.size(); i++)
    if (y[i] < (2 * y[i - 1])) poss = false;
  if (poss)
    printf("NO\n");
  else
    printf("YES\n");
}
