def     _a				(      ):







     '''simple docstring'''


     for n in range(1     ,  1_00_00_00 ):
          yield n * (n + 1) // 2







def     _a				(      lowercase__  :			Optional[int] ):







     '''simple docstring'''


     SCREAMING_SNAKE_CASE__				:				Optional[int]			=		1
     SCREAMING_SNAKE_CASE__				:				Union[str, Any]			=		2
     while i * i <= n:
          SCREAMING_SNAKE_CASE__				:				List[Any]			=		0
          while n % i == 0:
               n //= i
               multiplicity += 1
          divisors_count *= multiplicity + 1
          i += 1
     if n > 1:
          divisors_count *= 2
     return divisors_count







def     _a				(      ):







     '''simple docstring'''


     return next(i for i in triangle_number_generator() if count_divisors(lowercase__ ) > 5_00 )


if __name__ == "__main__":
      print(solution())




from __future__ import annotations







def     _a				(      lowercase__  :			list[int | float]     ,  lowercase__  :			int     ,  lowercase__  :			int ):







     '''simple docstring'''


     if len(lowercase__ ) == 0:
          raise ValueError('find_max() arg is an empty sequence' )
     if (
         left >= len(lowercase__ )
         or left < -len(lowercase__ )
         or right >= len(lowercase__ )
         or right < -len(lowercase__ )
     ):
          raise IndexError('list index out of range' )
     if left == right:
          return nums[left]
     SCREAMING_SNAKE_CASE__				:				Union[str, Any]			=		(left + right) >> 1  # the middle
     SCREAMING_SNAKE_CASE__				:				int			=		find_max(lowercase__     ,  lowercase__     ,  lowercase__ )  # find max in range[left, mid]
     SCREAMING_SNAKE_CASE__				:				Tuple			=		find_max(lowercase__     ,  mid + 1     ,  lowercase__ )  # find max in range[mid + 1, right]

     return left_max if left_max >= right_max else right_max


if __name__ == "__main__":
      import doctest

      doctest.testmod(verbose=True)



