

'''simple docstring'''

def 							_UpperCamelCase				(   lowerCAmelCase__:					int = 100_0000   )      -> int:
							SCREAMING_SNAKE_CASE_				=				[i - 1 for i in range(limit + 1   )]

							for i in range(2		,limit + 1   ):
														if phi[i] == i - 1:
																					for j in range(2 * i		,limit + 1		,lowerCAmelCase__   ):
																												phi[j] -= phi[j] // i

							return sum(phi[2 : limit + 1]   )


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








'''simple docstring'''

import os

# Precomputes a list of the 100 first triangular numbers
SCREAMING_SNAKE_CASE							:				List[Any]     	=			[int(0.5 * n * (n + 1)) for n in range(1, 101)]




def 							_UpperCamelCase				(   )      -> List[Any]:
							SCREAMING_SNAKE_CASE_				=				os.path.dirname(os.path.realpath(lowerCAmelCase__   )   )
							SCREAMING_SNAKE_CASE_				=				os.path.join(lowerCAmelCase__		,'words.txt'   )

							SCREAMING_SNAKE_CASE_				=				''
							with open(lowerCAmelCase__   ) as f:
														SCREAMING_SNAKE_CASE_				=				f.readline()

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


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





