

'''simple docstring'''

def    A_  ( ):
  for n in range(1      ,       1000000 ):
    yield n * (n + 1) // 2





def    A_  ( snake_case ):
  SCREAMING_SNAKE_CASE:Any						      =					1
  SCREAMING_SNAKE_CASE:Union[str, Any]						      =					2
  while i * i <= n:
    SCREAMING_SNAKE_CASE:List[str]						      =					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_  ( ):
  return next(i for i in triangle_number_generator() if count_divisors(snake_case ) > 500 )


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









'''simple docstring'''

def    A_  ( snake_case ):
  SCREAMING_SNAKE_CASE:Dict						      =					(1 + 24 * n) ** 0.5
  return ((1 + root) / 6) % 1 == 0





def    A_  ( snake_case = 5000 ):
  SCREAMING_SNAKE_CASE:int						      =					[(i * (3 * i - 1)) // 2 for i in range(1      ,       snake_case )]
  for i, pentagonal_i in enumerate(snake_case ):
    for j in range(snake_case      ,       len(snake_case ) ):
      SCREAMING_SNAKE_CASE:int						      =					pentagonal_nums[j]
      SCREAMING_SNAKE_CASE:Any						      =					pentagonal_i + pentagonal_j
      SCREAMING_SNAKE_CASE:int						      =					pentagonal_j - pentagonal_i
      if is_pentagonal(snake_case ) and is_pentagonal(snake_case ):
        return b

  return -1


if __name__ == "__main__":
    print(f'''{solution() = }''')






