






def    UpperCamelCase						(	):






						"""simple docstring"""







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

def    UpperCamelCase						(	_A			):






						"""simple docstring"""







						__magic_name__      :       Tuple       						= 1
						__magic_name__      :       Any       						= 2
						while i * i <= n:
												__magic_name__      :       Any       						= 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						(	):






						"""simple docstring"""







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


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








import os
from pathlib import Path

def    UpperCamelCase						(	):






						"""simple docstring"""







						from torch.utils.cpp_extension import load

						__magic_name__      :       Dict       						= Path(_A			).resolve().parent.parent.parent / """kernels""" / """deformable_detr"""
						__magic_name__      :       Optional[int]       						= [
						    root / filename
						    for filename in [
						        """vision.cpp""",
						        os.path.join("""cpu""",   """ms_deform_attn_cpu.cpp"""			),
						        os.path.join("""cuda""",   """ms_deform_attn_cuda.cu"""			),
						    ]
						]

						load(
						    """MultiScaleDeformableAttention""",   _A,   with_cuda=_A,   extra_include_paths=[str(_A			)],   extra_cflags=["""-DWITH_CUDA=1"""],   extra_cuda_cflags=[
						        """-DCUDA_HAS_FP16=1""",
						        """-D__CUDA_NO_HALF_OPERATORS__""",
						        """-D__CUDA_NO_HALF_CONVERSIONS__""",
						        """-D__CUDA_NO_HALF2_OPERATORS__""",
						    ],   )

						import MultiScaleDeformableAttention as MSDA

						return MSDA
