



"""simple docstring"""







def     UpperCamelCase_   (   )						->       List[str]:

  """simple docstring"""




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

def     UpperCamelCase_   (   lowerCAmelCase__				:    Optional[Any]						)						->       Dict:

  """simple docstring"""




  lowerCAmelCase_       :    int								=			1
  lowerCAmelCase_       :    Union[str, Any]								=			2
  while i * i <= n:
    lowerCAmelCase_       :    int								=			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     UpperCamelCase_   (   )						->       Dict:

  """simple docstring"""




  return next(i for i in triangle_number_generator() if count_divisors(lowerCAmelCase__						) > 500						)


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










"""simple docstring"""







def     UpperCamelCase_   (   lowerCAmelCase__				:    list[int]   ,       lowerCAmelCase__				:    list[int]						)						->       None:

  """simple docstring"""




  lowerCAmelCase_       :    List[Any]								=			len(lowerCAmelCase__						)
  print('The following activities are selected:'						)

  # The first activity is always selected
  lowerCAmelCase_       :    str								=			0
  print(lowerCAmelCase__   ,       end=','						)

  # Consider rest of the activities
  for j in range(lowerCAmelCase__						):
    # If this activity has start time greater than
    # or equal to the finish time of previously
    # selected activity, then select it
    if start[j] >= finish[i]:
      print(lowerCAmelCase__   ,       end=','						)
      lowerCAmelCase_       :    Tuple								=			j


if __name__ == "__main__":
     import doctest

     doctest.testmod()

     lowercase__		:    List[str]				   =     [1, 3, 0, 5, 8, 5]
     lowercase__		:    Dict				   =     [2, 4, 6, 7, 9, 9]
     print_max_activities(start, finish)





