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>

using namespace std;

int main() {
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    
    long long n, m, k; cin >> n >> m >> k;
    vector<long long> a(n + m);

    map<long long, long long> cnta;
    map<long long, long long> cntb;

    for (int i = 0; i < n; i++) {
        cin >> a[i];
        cnta[a[i]]++;
    }

    for (int i = n; i < n + m; i++) {
        cin >> a[i];
        cntb[a[i]]++;
    }

    sort(a.begin(), a.end()); 
    a.erase(unique(a.begin(), a.end()), a.end());

    int cn = n, cm = m;
    /*
    3 2 10
    2 2 5
    2 5
    */
    for (long long aa : a) {
        if (cnta.find(aa) == cnta.end()) cm -= cntb[aa];
        else if (cntb.find(aa) == cntb.end()) cn -= cnta[aa];
        else cn -= cnta[aa], cm -= cntb[aa];

        if (cn > cm || (cn == cm && n > m)) {
            cout << "YES" << endl;
            return 0;
        }        
    }

    cout << "NO" << endl;

}