





'''simple docstring'''


from __future__ import annotations

from decimal import Decimal

from numpy import array


def 	__a(SCREAMING_SNAKE_CASE_  :					list[list[float]]    ):



    '''simple docstring'''





    _lowerCAmelCase				=      Decimal

    # Check if the provided matrix has 2 rows and 2 columns
    # since this implementation only works for 2x2 matrices
    if len(SCREAMING_SNAKE_CASE_    ) == 2 and len(matrix[0]    ) == 2 and len(matrix[1]    ) == 2:
        # Calculate the determinant of the matrix
        _lowerCAmelCase				=      float(
            d(matrix[0][0]    ) * d(matrix[1][1]    ) - d(matrix[1][0]    ) * d(matrix[0][1]    )    )
        if determinant == 0:
            raise ValueError("This matrix has no inverse."    )

        # Creates a copy of the matrix with swapped positions of the elements
        _lowerCAmelCase				=      [[0.0, 0.0], [0.0, 0.0]]
        _lowerCAmelCase			,			_lowerCAmelCase				=      matrix[1][1], matrix[0][0]
        _lowerCAmelCase			,			_lowerCAmelCase				=      -matrix[1][0], -matrix[0][1]

        # Calculate the inverse of the matrix
        return [
            [(float(d(SCREAMING_SNAKE_CASE_    )    ) / determinant) or 0.0 for n in row] for row in swapped_matrix
        ]
    elif (
        len(SCREAMING_SNAKE_CASE_    ) == 3
        and len(matrix[0]    ) == 3
        and len(matrix[1]    ) == 3
        and len(matrix[2]    ) == 3
    ):
        # Calculate the determinant of the matrix using Sarrus rule
        _lowerCAmelCase				=      float(
            (
                (d(matrix[0][0]    ) * d(matrix[1][1]    ) * d(matrix[2][2]    ))
                + (d(matrix[0][1]    ) * d(matrix[1][2]    ) * d(matrix[2][0]    ))
                + (d(matrix[0][2]    ) * d(matrix[1][0]    ) * d(matrix[2][1]    ))
            )
            - (
                (d(matrix[0][2]    ) * d(matrix[1][1]    ) * d(matrix[2][0]    ))
                + (d(matrix[0][1]    ) * d(matrix[1][0]    ) * d(matrix[2][2]    ))
                + (d(matrix[0][0]    ) * d(matrix[1][2]    ) * d(matrix[2][1]    ))
            )    )
        if determinant == 0:
            raise ValueError("This matrix has no inverse."    )

        # Creating cofactor matrix
        _lowerCAmelCase				=      [
            [d(0.0    ), d(0.0    ), d(0.0    )],
            [d(0.0    ), d(0.0    ), d(0.0    )],
            [d(0.0    ), d(0.0    ), d(0.0    )],
        ]
        _lowerCAmelCase				=      (d(matrix[1][1]    ) * d(matrix[2][2]    )) - (
            d(matrix[1][2]    ) * d(matrix[2][1]    )
        )
        _lowerCAmelCase				=      -(
            (d(matrix[1][0]    ) * d(matrix[2][2]    )) - (d(matrix[1][2]    ) * d(matrix[2][0]    ))
        )
        _lowerCAmelCase				=      (d(matrix[1][0]    ) * d(matrix[2][1]    )) - (
            d(matrix[1][1]    ) * d(matrix[2][0]    )
        )
        _lowerCAmelCase				=      -(
            (d(matrix[0][1]    ) * d(matrix[2][2]    )) - (d(matrix[0][2]    ) * d(matrix[2][1]    ))
        )
        _lowerCAmelCase				=      (d(matrix[0][0]    ) * d(matrix[2][2]    )) - (
            d(matrix[0][2]    ) * d(matrix[2][0]    )
        )
        _lowerCAmelCase				=      -(
            (d(matrix[0][0]    ) * d(matrix[2][1]    )) - (d(matrix[0][1]    ) * d(matrix[2][0]    ))
        )
        _lowerCAmelCase				=      (d(matrix[0][1]    ) * d(matrix[1][2]    )) - (
            d(matrix[0][2]    ) * d(matrix[1][1]    )
        )
        _lowerCAmelCase				=      -(
            (d(matrix[0][0]    ) * d(matrix[1][2]    )) - (d(matrix[0][2]    ) * d(matrix[1][0]    ))
        )
        _lowerCAmelCase				=      (d(matrix[0][0]    ) * d(matrix[1][1]    )) - (
            d(matrix[0][1]    ) * d(matrix[1][0]    )
        )

        # Transpose the cofactor matrix (Adjoint matrix)
        _lowerCAmelCase				=      array(SCREAMING_SNAKE_CASE_    )
        for i in range(3    ):
            for j in range(3    ):
                _lowerCAmelCase				=      cofactor_matrix[j][i]

        # Inverse of the matrix using the formula (1/determinant) * adjoint matrix
        _lowerCAmelCase				=      array(SCREAMING_SNAKE_CASE_    )
        for i in range(3    ):
            for j in range(3    ):
                inverse_matrix[i][j] /= d(SCREAMING_SNAKE_CASE_    )

        # Calculate the inverse of the matrix
        return [[float(d(SCREAMING_SNAKE_CASE_    )    ) or 0.0 for n in row] for row in inverse_matrix]
    raise ValueError("Please provide a matrix of size 2x2 or 3x3."    )









'''simple docstring'''


from __future__ import annotations


def 	__a(SCREAMING_SNAKE_CASE_  :					list[float]		,       SCREAMING_SNAKE_CASE_  :					list[float]    ):



    '''simple docstring'''





    _lowerCAmelCase				=      sorted(numsa + numsa    )
    _lowerCAmelCase			,			_lowerCAmelCase				=      divmod(len(SCREAMING_SNAKE_CASE_    )		,       2    )
    if mod == 1:
        return all_numbers[div]
    else:
        return (all_numbers[div] + all_numbers[div - 1]) / 2


if __name__ == "__main__":
       import doctest

       doctest.testmod()
       _SCREAMING_SNAKE_CASE	 =							[float(x) for x in input("Enter the elements of first array: ").split()]
       _SCREAMING_SNAKE_CASE	 =							[float(x) for x in input("Enter the elements of second array: ").split()]
       print(f'''The median of two arrays is: {median_of_two_arrays(array_a, array_a)}''')


