



def  UpperCAmelCase__    (    lowercase__   ) ->      bool:
						return str(lowercase__   ) == str(lowercase__   )[::-1]






def  UpperCAmelCase__    (    lowercase__   ) ->      int:
						return int(lowercase__   ) + int(str(lowercase__   )[::-1]   )






def  UpperCAmelCase__    (    lowercase__ = 10_000   ) ->      int:
						__lowercase					=				[]
						for num in range(1						,       lowercase__   ):
												__lowercase					=				0
												__lowercase					=				num
												while iterations < 50:
																		__lowercase					=				sum_reverse(lowercase__   )
																		iterations += 1
																		if is_palindrome(lowercase__   ):
																								break
												else:
																		lychrel_nums.append(lowercase__   )
						return len(lowercase__   )


if __name__ == "__main__":
			print(F"""{solution() = }""")










def  UpperCAmelCase__    (    lowercase__						,       lowercase__   ) ->      bool:
						__lowercase					=				len(lowercase__   )
						__lowercase					=				[[False] * (required_sum + 1) for _ in range(arr_len + 1   )]

						# for each arr value, a sum of zero(0) can be formed by not taking any element
						# hence True/1
						for i in range(arr_len + 1   ):
												__lowercase					=				True

						# sum is not zero and set is empty then false
						for i in range(1						,       required_sum + 1   ):
												__lowercase					=				False

						for i in range(1						,       arr_len + 1   ):
												for j in range(1						,       required_sum + 1   ):
																		if arr[i - 1] > j:
																								__lowercase					=				subset[i - 1][j]
																		if arr[i - 1] <= j:
																								__lowercase					=				subset[i - 1][j] or subset[i - 1][j - arr[i - 1]]

						return subset[arr_len][required_sum]


if __name__ == "__main__":
			import doctest

			doctest.testmod()





