output_description: If it is possible to satisfy s' < t', print `Yes`; if it is not, print `No`.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      s
      t
attempt: s = input()
  t = input()
  s1 = [str(a) for a in s]
  t1 = [str(a) for a in t]
  s1.sort()
  t1.sort()
  import copy
  t2 = copy.copy(t1)
  for i in range(len(t1)):
    t1[i] = t2[len(t1)-i-1]
  if len(s) < len(t):
    k = 0
    for i in range(len(s)):
      if s1[i] == t1[i]:
        k = k + 1
    if k = len(s):
      print('Yes')
    else:
      print('No')
  else:
    n = 0
    l = 0
    i = 0
    while n==0 and i < len(t):
      if s1[i] == t1[i]:
        l = l + 1
        i = i + 1
      elif s1[i] < t1[i]:
        n = n + 1
        print('Yes')
      elif s1[i] > t1[i]:
        n = n + 1
        print('No')
    if l = len(t):
      print('No')
problem_description: Statement
  
  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.
samples: [{"input": "yx\n    axy", "output": "Yes\n    \n\nWe can, for example, rearrange `yx` into `xy` and `axy` into `yxa`. Then, `xy`\n< `yxa`.\n\n* * *"}, {"input": "ratcode\n    atlas", "output": "Yes\n    \n\nWe can, for example, rearrange `ratcode` into `acdeort` and `atlas` into\n`tslaa`. Then, `acdeort` < `tslaa`.\n\n* * *"}, {"input": "cd\n    abc", "output": "No\n    \n\nNo matter how we rearrange `cd` and `abc`, we cannot achieve our objective.\n\n* * *"}, {"input": "w\n    ww", "output": "Yes\n    \n\n* * *"}, {"input": "zzz\n    zzz", "output": "No"}]