


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



							'''simple docstring'''





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





def __UpperCAmelCase       (		__A			)						->					Optional[Any]:



							'''simple docstring'''





							UpperCAmelCase__										=     1
							UpperCAmelCase__										=     2
							while i * i <= n:
														UpperCAmelCase__										=     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       (		)						->					Optional[int]:



							'''simple docstring'''





							return next(i for i in triangle_number_generator() if count_divisors(__A			) > 5_0_0			)


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









from __future__ import annotations





def __UpperCAmelCase       (		__A ,						__A ,						__A ,						)						->					tuple:



       '''simple docstring'''





       if (electron_conc, hole_conc, intrinsic_conc).count(0			) != 1:
              raise ValueError("You cannot supply more or less than 2 values"			)
       elif electron_conc < 0:
              raise ValueError("Electron concentration cannot be negative in a semiconductor"			)
       elif hole_conc < 0:
              raise ValueError("Hole concentration cannot be negative in a semiconductor"			)
       elif intrinsic_conc < 0:
              raise ValueError(
                  "Intrinsic concentration cannot be negative in a semiconductor"			)
       elif electron_conc == 0:
              return (
                  "electron_conc",
                  intrinsic_conc**2 / hole_conc,
              )
       elif hole_conc == 0:
              return (
                  "hole_conc",
                  intrinsic_conc**2 / electron_conc,
              )
       elif intrinsic_conc == 0:
              return (
                  "intrinsic_conc",
                  (electron_conc * hole_conc) ** 0.5,
              )
       else:
              return (-1, -1)


if __name__ == "__main__":
    import doctest

    doctest.testmod()





