



"""simple docstring"""

from timeit import timeit







def 				SCREAMING_SNAKE_CASE__   (		SCREAMING_SNAKE_CASE__			:	int      ):



					"""simple docstring"""





					if number < 0:
										raise ValueError("""the value of input must not be negative"""      )
					snake_case_       :		Dict			       =       0
					while number:
										number &= number - 1
										result += 1
					return result







def 				SCREAMING_SNAKE_CASE__   (		SCREAMING_SNAKE_CASE__			:	int      ):



					"""simple docstring"""





					if number < 0:
										raise ValueError("""the value of input must not be negative"""      )
					snake_case_       :		List[str]			       =       0
					while number:
										if number % 2 == 1:
															result += 1
										number >>= 1
					return result







def 				SCREAMING_SNAKE_CASE__   (		):



					"""simple docstring"""





					def do_benchmark(SCREAMING_SNAKE_CASE__			:	int      ) -> None:
										snake_case_       :		List[str]			       =       """import __main__ as z"""
										print(f'Benchmark when {number = }:'      )
										print(f'{get_set_bits_count_using_modulo_operator(snake_case__      ) = }'      )
										snake_case_       :		List[str]			       =       timeit("""z.get_set_bits_count_using_modulo_operator(25)"""					,     setup=snake_case__      )
										print(f'timeit() runs in {timing} seconds'      )
										print(f'{get_set_bits_count_using_brian_kernighans_algorithm(snake_case__      ) = }'      )
										snake_case_       :		int			       =       timeit(
										    """z.get_set_bits_count_using_brian_kernighans_algorithm(25)"""					,     setup=snake_case__					,     )
										print(f'timeit() runs in {timing} seconds'      )

					for number in (2_5, 3_7, 5_8, 0):
										do_benchmark(snake_case__      )
										print()


if __name__ == "__main__":
			import doctest

			doctest.testmod()
			benchmark()






import os

# Precomputes a list of the 100 first triangular numbers
__a         =   [int(0.5 * n * (n + 1)) for n in range(1, 1_0_1)]




def 							a		(				):


				'''simple docstring'''
				lowercase_	    =   os.path.dirname(os.path.realpath(snake_case__   )   )
				lowercase_	    =   os.path.join(snake_case__		,  '''words.txt'''   )

				lowercase_	    =   ''''''
				with open(snake_case__   ) as f:
								lowercase_	    =   f.readline()

				lowercase_	    =   [word.strip('''"'''   ) for word in words.strip('''\r\n'''   ).split(''','''   )]
				lowercase_	    =   [
				    word
				    for word in [sum(ord(snake_case__   ) - 64 for x in word   ) for word in words]
				    if word in TRIANGULAR_NUMBERS
				]
				return len(snake_case__   )


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




