


"""simple docstring"""







import numpy as np




def    UpperCAmelCase__       (lowerCAmelCase_  ,						lowerCAmelCase_  ,						lowerCAmelCase_  ,						lowerCAmelCase_  ,						lowerCAmelCase_   ):




					'''simple docstring'''


					__SCREAMING_SNAKE_CASE						   =				int(np.ceil((x_end - xa) / h   )   )
					__SCREAMING_SNAKE_CASE						   =				np.zeros((n + 1,)   )
					__SCREAMING_SNAKE_CASE						   =				ya
					__SCREAMING_SNAKE_CASE						   =				xa

					for k in range(lowerCAmelCase_   ):
										__SCREAMING_SNAKE_CASE						   =				f(lowerCAmelCase_  ,						y[k]   )
										__SCREAMING_SNAKE_CASE						   =				f(x + 0.5 * h  ,						y[k] + 0.5 * h * ka   )
										__SCREAMING_SNAKE_CASE						   =				f(x + 0.5 * h  ,						y[k] + 0.5 * h * ka   )
										__SCREAMING_SNAKE_CASE						   =				f(x + h  ,						y[k] + h * ka   )
										__SCREAMING_SNAKE_CASE						   =				y[k] + (1 / 6) * h * (ka + 2 * ka + 2 * ka + ka)
										x += h

					return y


if __name__ == "__main__":
		import doctest

		doctest.testmod()


import re
def  lowerCAmelCase__			(  SCREAMING_SNAKE_CASE_     )				->		str:

			if len(re.findall('[ATCG]'       ,							SCREAMING_SNAKE_CASE_     )     ) != len(SCREAMING_SNAKE_CASE_     ):
						raise ValueError('Invalid Strand'     )

			return dna.translate(dna.maketrans('ATCG'       ,							'TAGC'     )     )


if __name__ == "__main__":
					import doctest

					doctest.testmod()