You are given strings s and t, consisting of lowercase English letters. You will create a string s' by freely rearranging the characters in s. You will also create a string t' by freely rearranging the characters in t. Determine whether it is possible to satisfy s' < t' for the lexicographic order.

Constraints

* The lengths of s and t are between 1 and 100 (inclusive).
* s and t consists of lowercase English letters.

Input

Input is given from Standard Input in the following format:


s
t


Output

If it is possible to satisfy s' < t', print `Yes`; if it is not, print `No`.

Examples

Input

yx
axy


Output

Yes


Input

ratcode
atlas


Output

Yes


Input

cd
abc


Output

No


Input

w
ww


Output

Yes


Input

zzz
zzz


Output

No
import java.io.*;
import java.util.*;
import java.math.BigInteger;
public class Main {

static long[] list=new long[87];

	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);

  // String nyuA=sc.nextLine();
 //  String nyuB=sc.nextLine();
 
   String[] s=sc.nextLine().split("");
     String[] t=sc.nextLine().split("");
Arrays.sort(s);
Arrays.sort(t);

String S="";
String T="";
for(String temp:s)S+=temp;
for(String temp:t)T=temp+T;

String[] so={S,T};
Arrays.sort(so);

//int N=Integer.parseInt(nyuA);

//int Y=Integer.parseInt(e[1]);
//int Z=Integer.parseInt(e[2]);

if(S.equals(T))
System.out.println("No");
else if(S.equals(so[0]))
System.out.println("Yes");
else
System.out.println("No");



}

}

