input: Write a function to generate a list of all substrings of a given string, sorted from the longest to the shortest length. If the given string is empty, return an empty list.
  assert substring_in_order("hello")==['hello', 'hell', 'ello', 'hel', 'ell', 'llo', 'he', 'el', 'll', 'lo', 'h', 'e', 'l', 'l', 'o']
  assert substring_in_order("abc")==['abc', 'ab', 'bc', 'a', 'b', 'c']
  assert substring_in_order("")==[]
output: def substring_in_order(s):
      substrings = [s[i:j] for i in range(len(s)) for j in range(i + 1, len(s) + 1)]
      return sorted(substrings, key=len, reverse=True)