



"""simple docstring"""






def     _lowercase       (						)		->     List[Any]:
			for n in range(1      ,1_000_000			):
						yield n * (n + 1) // 2


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


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




"""simple docstring"""






import re

from filelock import FileLock


try:
	import nltk

	__snake_case							:     Any   =					True
except (ImportError, ModuleNotFoundError):
	__snake_case							:     Optional[int]   =					False

if NLTK_AVAILABLE:
	with FileLock('.lock') as lock:
		nltk.download('punkt', quiet=True)


def     _lowercase       (						__snake_case			)		->     str:
			re.sub("<n>"      ,""      ,__snake_case			)  # remove pegasus newline char
			assert NLTK_AVAILABLE, "nltk must be installed to separate newlines between sentences. (pip install nltk)"
			return "\n".join(nltk.sent_tokenize(__snake_case			)			)