

import doctest
from collections import deque

import numpy as np

class 					a__						:
			"""simple docstring"""







			def __init__(    self       )  ->						None:
							'''simple docstring'''






							A__        =			[2, 1, 2, -1]
							A__        =			[1, 2, 3, 4]


			def      UpperCamelCase		(    self       )  ->						list[float]:
							'''simple docstring'''






							A__        =			len(self.first_signal       )
							A__        =			len(self.second_signal       )

							A__        =			max(lowercase      ,      lowercase       )

							# create a zero matrix of max_length x max_length
							A__        =			[[0] * max_length for i in range(lowercase       )]

							# 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(lowercase       ):
											A__        =			deque(self.second_signal       )
											rotated_signal.rotate(lowercase       )
											for j, item in enumerate(lowercase       ):
															matrix[i][j] += item

        # multiply the matrix with the first signal
							A__        =			np.matmul(np.transpose(lowercase       )      ,      np.transpose(self.first_signal       )       )

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


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




def 					lowerCAmelCase__							(	SCREAMING_SNAKE_CASE_:							int      )			->      int:




				'''simple docstring'''





				if divisor % 5 == 0 or divisor % 2 == 0:
								return 0
				A__        =			1
				A__        =			1
				while repunit:
								A__        =			(1_0 * repunit + 1) % divisor
								repunit_index += 1
				return repunit_index



def 					lowerCAmelCase__							(	SCREAMING_SNAKE_CASE_:							int = 1_0_0_0_0_0_0      )			->      int:




				'''simple docstring'''





				A__        =			limit - 1
				if divisor % 2 == 0:
								divisor += 1
				while least_divisible_repunit(SCREAMING_SNAKE_CASE_      ) <= limit:
								divisor += 2
				return divisor


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

