#include <bits/stdc++.h>
using namespace std;
const long long M = 500100;
long long cntA[M], cntB[M], A[M], B[M];
vector<int> t;
map<long long, long long> num;
int main() {
  long long i, j, k, a, b;
  double alice = 0, bob = 0;
  memset((cntA), (0), sizeof(cntA));
  memset((cntB), (0), sizeof(cntB));
  scanf("%I64d%I64d%I64d", &a, &b, &k);
  for (i = 0; i < a; i++) {
    scanf("%I64d", &A[i]);
  }
  for (j = 0; j < b; j++) {
    scanf("%I64d", &B[j]);
  }
  sort(A, A + a);
  sort(B, B + b);
  if (a > b) {
    printf("%s\n", "YES");
    return 0;
  } else {
    for (i = a - 1, j = b - 1; i >= 0 && j >= 0; i--, j--)
      if (A[i] > B[j]) {
        {
          printf("%s\n", "YES");
          return 0;
        };
      }
  }
  printf("NO\n");
  return 0;
}
