





"""simple docstring"""





import math


def       lowerCamelCase_       (   UpperCAmelCase_  ,			UpperCAmelCase_  )						->float:





  """simple docstring"""


  if initial_intensity < 0:
    raise ValueError('''The value of intensity cannot be negative'''  )
    # handling of negative values of initial intensity
  if angle < 0 or angle > 3_60:
    raise ValueError('''In Malus Law, the angle is in the range 0-360 degrees'''  )
    # handling of values out of allowed range
  return initial_intensity * (math.cos(math.radians(UpperCAmelCase_  )  ) ** 2)


if __name__ == "__main__":
  import doctest

  doctest.testmod(name='malus_law')






"""simple docstring"""





def       lowerCamelCase_       (   )						->str:





  """simple docstring"""


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


def       lowerCamelCase_       (   UpperCAmelCase_  )						->Union[str, Any]:





  """simple docstring"""


  __UpperCAmelCase    :						Dict       =						1
  __UpperCAmelCase    :						Any       =						2
  while i * i <= n:
    __UpperCAmelCase    :						Tuple       =						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       lowerCamelCase_       (   )						->Optional[int]:





  """simple docstring"""


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


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