
"""simple docstring"""


class 					lowerCAmelCase_					:



						'''simple docstring'''


						def __init__(			self  :   Dict   )  -> Optional[Any]:
							A     = ''
							A     = ''
							A     = []


						def     _SCREAMING_SNAKE_CASE   (			self  :   List[str]	,A_  :   int	,A_  :   int   )  -> int:
							if m == -1:
								return n + 1
							elif n == -1:
								return m + 1
							elif self.dp[m][n] > -1:
								return self.dp[m][n]
							else:
								if self.worda[m] == self.worda[n]:
									A     = self.__min_dist_top_down_dp(m - 1	,n - 1   )
								else:
									A     = self.__min_dist_top_down_dp(A_	,n - 1   )
									A     = self.__min_dist_top_down_dp(m - 1	,A_   )
									A     = self.__min_dist_top_down_dp(m - 1	,n - 1   )
									A     = 1 + min(A_	,A_	,A_   )

								return self.dp[m][n]


						def     _SCREAMING_SNAKE_CASE   (			self  :   Union[str, Any]	,A_  :   str	,A_  :   str   )  -> int:
							A     = worda
							A     = worda
							A     = [[-1 for _ in range(len(A_   )   )] for _ in range(len(A_   )   )]

							return self.__min_dist_top_down_dp(len(A_   ) - 1	,len(A_   ) - 1   )




						def     _SCREAMING_SNAKE_CASE   (			self  :   Any	,A_  :   str	,A_  :   str   )  -> int:
							A     = worda
							A     = worda
							A     = len(A_   )
							A     = len(A_   )
							A     = [[0 for _ in range(n + 1   )] for _ in range(m + 1   )]

							for i in range(m + 1   ):
								for j in range(n + 1   ):
									if i == 0:  # first string is empty
										A     = j
									elif j == 0:  # second string is empty
										A     = i
									elif worda[i - 1] == worda[j - 1]:  # last characters are equal
										A     = self.dp[i - 1][j - 1]
									else:
										A     = self.dp[i][j - 1]
										A     = self.dp[i - 1][j]
										A     = self.dp[i - 1][j - 1]
										A     = 1 + min(A_	,A_	,A_   )
							return self.dp[m][n]


if __name__ == "__main__":
		_lowercase				 =					EditDistance()

		print('''****************** Testing Edit Distance DP Algorithm ******************''')
		print()

		_lowercase				 =					input('''Enter the first string: ''').strip()
		_lowercase				 =					input('''Enter the second string: ''').strip()

		print()
		print(F"""The minimum edit distance is: {solver.min_dist_top_down(Sa, Sa)}""")
		print(F"""The minimum edit distance is: {solver.min_dist_bottom_up(Sa, Sa)}""")
		print()
		print('''*************** End of Testing Edit Distance DP Algorithm ***************''')

"""simple docstring"""


import os

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






def    _snake_case					(		):
	A     = os.path.dirname(os.path.realpath(snake_case__  )  )
	A     = os.path.join(snake_case__						,   'words.txt'  )

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

	A     = [word.strip('"'  ) for word in words.strip('\r\n'  ).split(','  )]
	A     = [
	    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())