#include <iostream>
#include <algorithm>

using namespace std;
void sortDessending(string &s,int n,int lt)
{
    for(int j=lt;j>n;j--) if (s[j]>s[j-1]) swap(s[j],s[j-1]);
}

void sortAssending(string &s,string &t)
{
   int l=s.length()-1,lt=t.length()-1,n=0,i,j;
   for ( i=l;i>=0;i--) 
{
   for( j=l;j>l-(i);j--) if (s[j]<s[j-1]) swap(s[j],s[j-1]);
   {
	sortDessending(t,n,lt);
        if(s[n]<t[n]) 
	{
	cout<<"Yes"<<endl;
	return;
	}
	else  if(s[n]>t[n])
	{
	cout<<"No"<<endl;
	return;
	}
	n++;
        
   }
}
if (i==-1) 
{
	if(l<lt) cout<<"Yes"<<endl;
	else cout<<"No"<<endl;
}
}



int main (void)
{
   string s,t;
   cin>>s>>t;
   sortAssending(s,t);
//cout<<s<<t<<endl;
}