It is known that there are *k* fish species in the polar ocean, numbered from 1 to *k*. They are sorted by non-decreasing order of their weight, which is a positive number. Let the weight of the *i*-th type of fish be *w*<sub class="lower-index">*i*</sub>, then 0 &lt; *w*<sub class="lower-index">1</sub> ≤ *w*<sub class="lower-index">2</sub> ≤ ... ≤ *w*<sub class="lower-index">*k*</sub> holds.

Polar bears Alice and Bob each have caught some fish, and they are guessing who has the larger sum of weight of the fish he/she's caught. Given the type of the fish they've caught, determine whether it is possible that the fish caught by Alice has a strictly larger total weight than Bob's. In other words, does there exist a sequence of weights *w*<sub class="lower-index">*i*</sub> (not necessary integers), such that the fish caught by Alice has a strictly larger total weight?
The first line contains three integers *n*, *m*, *k* (1 ≤ *n*, *m* ≤ 10<sup class="upper-index">5</sup>, 1 ≤ *k* ≤ 10<sup class="upper-index">9</sup>) — the number of fish caught by Alice and Bob respectively, and the number of fish species.

The second line contains *n* integers each from 1 to *k*, the list of fish type caught by Alice. The third line contains *m* integers each from 1 to *k*, the list of fish type caught by Bob.

Note that one may have caught more than one fish for a same species.
#include<bits/stdc++.h>
#define N 100005
using namespace std;

int alic[N], bob[N];
map<int, int> mp;

int main() {
  int n, m, k; cin >> n >> m >> k;
  for(int i = 0; i < n;i++){ cin >> alic[i]; mp[alic[i]]++;}
  for(int i = 0; i < m; i++){ cin >> bob[i]; mp[bob[i]]--;}

  if(n > m) cout << "YES\n";
  sort(alic, alic+n);
  sort(bob, bob+m);
  int ptr1 = n-1, ptr2 = m-1;
  while(ptr1 >= 0 && ptr2 >= 0) {
    if(alic[ptr1] > bob[ptr2])  {cout << "YES\n"; return 0;}
    else {ptr1--; ptr2--;}
  }
  cout << "NO\n";
}

    	 	 	 			  	   	 	  	 	   	