input: from typing import List
  
  
  def find_all_substrings(string: str) -> List[str]:
      """ Generate a list of all substrings of the given string in order from longest to shortest length. 
      >>> find_all_substrings("abc")
      ['abc', 'ab', 'bc', 'a', 'b', 'c']
      >>> find_all_substrings("hello")
      ['hello', 'hell', 'ello', 'hel', 'ell', 'llo', 'he', 'el', 'll', 'lo', 'h', 'e', 'l', 'l', 'o']
      """
output:     substrings = []
      length = len(string)
      for i in range(length):
          for j in range(i + 1, length + 1):
              substrings.append(string[i:j])
      substrings.sort(key=len, reverse=True)
      return substrings