input: Write a function to generate all substrings of a given string in order from longest to shortest length. The function should take a string as input and return a list of all substrings.
  def substring_in_order(string): 
      result = [] 
      n = len(string) 
      for l in range(n, 0, -1): 
          for i in range(n-l + 1): 
              result.append(string[i:i+l]) 
      return result 
  
  assert substring_in_order("hello")==["hello", "ello", "hell", "lo", "hel", "ell", "he", "el", "ll", "h", "e", "l", "l", "o"]
  assert substring_in_order("abc")==["abc", "bc", "ab", "c", "a", "b"]
  assert substring_in_order("")==[]
output: def substring_in_order(string): 
      result = [] 
      n = len(string) 
      for l in range(n, 0, -1): 
          for i in range(n-l + 1): 
              result.append(string[i:i+l]) 
      return result