


def 				UpperCamelCase_(      )    ->						int:
    for n in range(1							, 100_0000 ):
        yield n * (n + 1) // 2



def 				UpperCamelCase_(      lowerCamelCase_ )    ->						Optional[int]:
    _lowercase       :							Union[str, Any]      		=		1
    _lowercase       :							Tuple      		=		2
    while i * i <= n:
        _lowercase       :							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 				UpperCamelCase_(      )    ->						Tuple:
    return next(i for i in triangle_number_generator() if count_divisors(lowerCamelCase_ ) > 500 )


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



import math
import sys






def  snake_case  (       snake_case__			:int)						->   int:
       if number != int(snake_case__):
              raise ValueError("""the value of input must be a natural number""")
       if number < 0:
              raise ValueError("""the value of input must not be a negative number""")
       if number == 0:
              return 1
       _A        =  [-1] * (number + 1)
       _A        =  0
       for i in range(1   ,	number + 1):
              _A        =  sys.maxsize
              _A        =  int(math.sqrt(snake_case__))
              for j in range(1   ,	root + 1):
                     _A        =  1 + answers[i - (j**2)]
                     _A        =  min(snake_case__   ,	snake_case__)
              _A        =  answer
       return answers[number]


if __name__ == "__main__":
    import doctest

    doctest.testmod()




