
def 	a_		(	__lowercase       :     list[int]	, __lowercase       :     list[int]			)			->  tuple[float, float]:

			# Check if the input is valid
			if not len(__lowercase			) == len(__lowercase			) == 3:
						raise ValueError('Please enter a valid equation.'			)
			if equationa[0] == equationa[1] == equationa[0] == equationa[1] == 0:
						raise ValueError('Both a & b of two equations can\'t be zero.'			)

			# Extract the coefficients
			_snake_case     , _snake_case     , _snake_case          =      equationa
			_snake_case     , _snake_case     , _snake_case          =      equationa

			# Calculate the determinants of the matrices
			_snake_case          =      aa * ba - aa * ba
			_snake_case          =      ca * ba - ca * ba
			_snake_case          =      aa * ca - aa * ca

			# Check if the system of linear equations has a solution (using Cramer's rule)
			if determinant == 0:
						if determinant_x == determinant_y == 0:
									raise ValueError('Infinite solutions. (Consistent system)'			)
						else:
									raise ValueError('No solution. (Inconsistent system)'			)
			else:
						if determinant_x == determinant_y == 0:
									# Trivial solution (Inconsistent system)
									return (0.0, 0.0)
						else:
									_snake_case          =      determinant_x / determinant
									_snake_case          =      determinant_y / determinant
									# Non-Trivial Solution (Consistent system)
									return (x, y)

from __future__ import annotations

_lowerCamelCase	:    Optional[Any]          =      [-10, -5, 0, 5, 5.1, 11, 13, 21, 3, 4, -21, -10, -5, -1, 0]
_lowerCamelCase	:    Optional[int]          =      [-5, 0, 5, 5.1, 11, 13, 21, -1, 4, -1, -10, -5, -1, 0, -1]






def 	a_		(	__lowercase       :     list[float]			)			->  list[float]:
			_snake_case          =      []
			_snake_case          =      len(__lowercase			)

			for i in range(__lowercase			):
						_snake_case          =      -1
						for j in range(i + 1	, __lowercase			):
									if arr[i] < arr[j]:
												_snake_case          =      arr[j]
												break
						result.append(__lowercase			)
			return result






def 	a_		(	__lowercase       :     list[float]			)			->  list[float]:
			_snake_case          =      []
			for i, outer in enumerate(__lowercase			):
						_snake_case          =      -1
						for inner in arr[i + 1 :]:
									if outer < inner:
												_snake_case          =      inner
												break
						result.append(__lowercase			)
			return result






def 	a_		(	__lowercase       :     list[float]			)			->  list[float]:
			_snake_case          =      len(__lowercase			)
			_snake_case          =      []
			_snake_case          =      [-1] * arr_size

			for index in reversed(range(__lowercase			)			):
						if stack:
									while stack[-1] <= arr[index]:
												stack.pop()
												if not stack:
															break
						if stack:
									_snake_case          =      stack[-1]
						stack.append(arr[index]			)
			return result


if __name__ == "__main__":
			from doctest import testmod
			from timeit import timeit

			testmod()
			print(next_greatest_element_slow(arr))
			print(next_greatest_element_fast(arr))
			print(next_greatest_element(arr))

			_lowerCamelCase	:    Union[str, Any]          =      (
			    '''from __main__ import arr, next_greatest_element_slow, '''
			    '''next_greatest_element_fast, next_greatest_element'''
			)
			print(
			    '''next_greatest_element_slow():''',
			    timeit('''next_greatest_element_slow(arr)''', setup=setup),
			)
			print(
			    '''next_greatest_element_fast():''',
			    timeit('''next_greatest_element_fast(arr)''', setup=setup),
			)
			print(
			    '''     next_greatest_element():''',
			    timeit('''next_greatest_element(arr)''', setup=setup),
			)