#include <bits/stdc++.h>
using namespace std;
map<int, pair<int, int> > mp;
map<int, pair<int, int> >::reverse_iterator it;
int main() {
  int a = 0, b = 0, n, m, k, i;
  scanf("%d%d%d", &n, &m, &k);
  for (i = 0; i < n; i++) {
    int u;
    scanf("%d", &u);
    if (mp.count(u) != 0) {
      mp[u].first++;
    } else {
      mp[u] = make_pair(1, 0);
    }
  }
  for (i = 0; i < m; i++) {
    int u;
    scanf("%d", &u);
    if (mp.count(u) != 0) {
      mp[u].second++;
    } else {
      mp[u] = make_pair(0, 1);
    }
  }
  for (it = mp.rbegin(); it != mp.rend(); it++) {
    a += (*it).second.first;
    b += (*it).second.second;
    if (a > b) {
      printf("YES");
      return (0);
    }
  }
  printf("NO");
}
