input: Write a function to find the largest three numbers in a list. The function should return a list containing the three largest numbers in descending order. If the list has fewer than three elements, the function should return all the elements in descending order.
  
  def find_largest_three(lst):
      if len(lst) < 3:
          return sorted(lst, reverse=True)
      return sorted(lst, reverse=True)[:3]
  
  assert find_largest_three([1, 6, 3, 8, 7, 4]) == [8, 7, 6]
  assert find_largest_three([1, 2, 3]) == [3, 2, 1]
  assert find_largest_three([5, 7]) == [7, 5]
  assert find_largest_three([10]) == [10]
  assert find_largest_three([]) == []
output: def find_largest_three(lst):
      if len(lst) < 3:
          return sorted(lst, reverse=True)
      return sorted(lst, reverse=True)[:3]