
"""simple docstring"""






import doctest
from collections import deque

import numpy as np




class 				lowercase__:
	'''simple docstring'''

	def __init__(						self    :str					)							->			Any:







			'''simple docstring'''




			SCREAMING_SNAKE_CASE       :     Tuple				= [2, 1, 2, -1]
			SCREAMING_SNAKE_CASE       :     List[str]				= [1, 2, 3, 4]







	def   __lowerCAmelCase (						self    :str					)							->			List[str]:







			'''simple docstring'''




			SCREAMING_SNAKE_CASE       :     int				= len(self.first_signal					)
			SCREAMING_SNAKE_CASE       :     int				= len(self.second_signal					)

			SCREAMING_SNAKE_CASE       :     Optional[Any]				= max(lowerCamelCase_		, lowerCamelCase_					)

			# create a zero matrix of max_length x max_length
			SCREAMING_SNAKE_CASE       :     Tuple				= [[0] * max_length for i in range(lowerCamelCase_					)]

			# fills the smaller signal with zeros to make both signals of same length
			if length_first_signal < length_second_signal:
					self.first_signal += [0] * (max_length - length_first_signal)
			elif length_first_signal > length_second_signal:
					self.second_signal += [0] * (max_length - length_second_signal)
			for i in range(lowerCamelCase_					):
					SCREAMING_SNAKE_CASE       :     Optional[int]				= deque(self.second_signal					)
					rotated_signal.rotate(lowerCamelCase_					)
					for j, item in enumerate(lowerCamelCase_					):
							matrix[i][j] += item

        # multiply the matrix with the first signal
			SCREAMING_SNAKE_CASE       :     List[str]				= np.matmul(np.transpose(lowerCamelCase_					)		, np.transpose(self.first_signal					)					)

			# rounding-off to two decimal places
			return [round(lowerCamelCase_		, 2					) for i in final_signal]


if __name__ == "__main__":
					doctest.testmod()




"""simple docstring"""






import math





def __A						(   a_ :							list		,		a_ :							int     )->							int:




		'''simple docstring'''






		SCREAMING_SNAKE_CASE       :     Optional[int]				= len(a_     )
		SCREAMING_SNAKE_CASE       :     Optional[Any]				= int(math.floor(math.sqrt(a_     )     )     )
		SCREAMING_SNAKE_CASE       :     List[str]				= 0
		while arr[min(a_		,		a_     ) - 1] < x:
				SCREAMING_SNAKE_CASE       :     Optional[Any]				= step
				step += int(math.floor(math.sqrt(a_     )     )     )
				if prev >= n:
						return -1

		while arr[prev] < x:
				SCREAMING_SNAKE_CASE       :     Any				= prev + 1
				if prev == min(a_		,		a_     ):
						return -1
		if arr[prev] == x:
				return prev
		return -1


if __name__ == "__main__":
					lowerCamelCase__ :       Union[str, Any]						     =			input("Enter numbers separated by a comma:\n").strip()
					lowerCamelCase__ :       List[str]						     =			[int(item) for item in user_input.split(",")]
					lowerCamelCase__ :       Dict						     =			int(input("Enter the number to be searched:\n"))
					lowerCamelCase__ :       Tuple						     =			jump_search(arr, x)
					if res == -1:
										print("Number not found!")
					else:
										print(f'''Number {x} is at index {res}''')





