#include<iostream>
#include<string>
// #include<vector>
using namespace std;

string find_five(string str);

int main() {
    string a, b, max_five;
    cin >> a >> b;
    int flag = 1; // 标志辅助变量
    switch (b.length()) {
        case 1:
            if ((*(a.rbegin()) - '0') > stoi(b)) {
                cout << "YES";
            } else {
                cout << "NO";
            }
            break;
        case 2:
            for (int i = a.length() - 1; i > 0; i--) {
                if (a[i] == a[i - 1] && a[i] > b[0]) {
                    printf("YES");
                    flag = 0;
                    break;
                }
            }
            if (flag) {
                printf("NO");
            }
            break;
        case 3:
            for (int i = a.length() - 1; i > 1; i--) {
                if (a[i] == a[i - 1] && a[i - 1] == a[i - 2] && a[i] > b[0]) {
                    printf("YES");
                    flag = 0;
                    break;
                }
            }
            if (flag) {
                printf("NO");
            }
            break;
        case 4:
            for (int i = a.length() - 1; i > 2; i--) {
                if (a[i] == a[i - 1] && a[i - 1] == a[i - 2] && a[i - 2] == a[i - 3] &&
                        a[i] > b[0]) {
                    printf("YES");
                    flag = 0;
                    break;
                }
            }
            if (flag) {
                printf("NO");
            }
            break;
        case 5:
            if(b == "56789"){
                printf("NO");
            }else{
                // 先找出手中最大的五张
                max_five = find_five(a);
                if(max_five > b){
                    printf("YES");
                }else{
                    printf("NO");
                }
            }
            break;
        default:
            cout << "error!";
            break;
    }
    return 0;
}

string find_five(string str){
    int index = 0;
    string num, max_five; // num记录 牌a有哪几种数字 
    num = str.substr(0, 1);
    for(int i = 1; i < str.length(); i++){
        if(str[i] != str[index]){
            index = i;
            num.push_back(str[i]);
        }
    }
    for(int i = num.length() - 4; i > 0; i--){
        string wuzhang = num.substr(num.length() - 5, 5);
        if(wuzhang == "56789"){
            max_five = wuzhang;
            break;
        }else if(wuzhang == "45678"){
            max_five = wuzhang;
            break;
        }else if(wuzhang == "34567"){
            max_five = wuzhang;
            break;
        }else if(wuzhang == "23456"){
            max_five = wuzhang;
            break;
        }else if(wuzhang == "12345"){
            max_five = wuzhang;
            break;
        }
    }
    // cout << max_five << endl;
    return max_five;
}