input: Write a function to print all substrings of a given string in order from longest to shortest length. The function should take a single string as input and return a list of all substrings ordered by their lengths in descending order. If the input string is empty, the function should return an empty list.
  
  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("abcd") == ["abcd", "abc", "bcd", "ab", "bc", "cd", "a", "b", "c", "d"]
  assert substring_in_order("hello") == ["hello", "hell", "ello", "hel", "ell", "llo", "he", "el", "ll", "lo", "h", "e", "l", "l", "o"]
  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