





def 				SCREAMING_SNAKE_CASE__    (     __a ):

	if not isinstance(__a ,			__a ) or number < 0:
		raise ValueError('Input must be a non-negative integer' )

	snake_case_		:      List[str]           =						number & ~(number - 1)
	snake_case_		:      str           =						0
	while intermediate:
		intermediate >>= 1
		index += 1
	return index - 1


if __name__ == "__main__":
						import doctest

						doctest.testmod(verbose=True)



"""simple docstring"""







def       __UpperCAmelCase		(		a_      :		list[int]					)  ->							int:

   # validate:
   if not isinstance(a_     ,	a_					) or not all(
       isinstance(a_     ,	a_					) and item >= 0 for item in citations					):
      raise ValueError("The citations should be a list of non negative integers."					)

   citations.sort()
   _UpperCAmelCase 						=       len(a_					)

   for i in range(a_					):
      if citations[len_citations - 1 - i] <= i:
         return i

   return len_citations


if __name__ == "__main__":
  import doctest

  doctest.testmod()

