#include <iostream>
#include <algorithm>
using namespace std;

int main() {
    int v[3], a[3];
    for (int i = 0; i < 3; i++) cin >> v[i];
    for (int i = 0; i < 3; i++) cin >> a[i];
    sort(v, v + 3); // 齐王的马
    sort(a, a + 3); // 田忌的马
    int win = 0, i = 0, j = 0, x = 2, y = 2;
    while (i <= x && j <= y) {
        if (a[x] > v[y]) { // 田忌最快的马能赢
            win++;
            x--; y--;
        } else if (a[i] > v[j]) { // 田忌最慢的马能赢齐王最慢的
            win++;
            i++; j++;
        } else { // 否则田忌最慢的马送掉
            i++; y--;
        }
    }
    if (win > 1) cout << "Yes" << endl;
    else cout << "No" << endl;
    return 0;
}

  1. 排序:将田忌和齐王的马速度分别升序排序。
  2. 双指针匹配:如果田忌当前最快的马能赢齐王当前最快的马,则都用最快的出战,田忌胜场+1。否则,田忌用最慢的马去“送”给齐王最快的马(牺牲),齐王最快的马淘汰掉。
  3. 统计胜场:如果田忌胜场大于 1,则输出 Yes,否则输出 No。