問題文を言い換えると、SS の並び替えのうち、辞書順で最大のものが TT より辞書順で小さいか、ということになります。 SS の並び替えで辞書順最大のものは SS を逆順ソートしたものなので、これと TT の大小比較をすることにより、この問題を解くことができます。

c++, Python での実装例を以下に示します。

c++
#include<bits/stdc++.h>

using namespace std;

int main(){
    string s, t; cin >> s >> t;
    sort(s.rbegin(), s.rend());
    if(s < t){
        cout << "Yes" << "\n";
    }else{
        cout << "No" << "\n";
    }
}
Python
s = list(map(str, input()))
t = list(map(str, input()))
s.sort(reverse = True)
print("Yes" if s < t else "No")