






from __future__ import annotations

import sys

def        _lowerCamelCase		(  __A      :							int						,						__A      :							int	) ->   tuple[int, int]:
    # base cases
    if abs(__A	) == 1:
        return a, 0
    elif abs(__A	) == 1:
        return 0, b

    _UpperCAmelCase			: Optional[int]     					=			a, b
    _UpperCAmelCase			: Dict     					=			1, 0
    _UpperCAmelCase			: Tuple     					=			0, 1

    while remainder != 0:
        _UpperCAmelCase			: str     					=			old_remainder // remainder
        _UpperCAmelCase			: List[str]     					=			remainder, old_remainder - quotient * remainder
        _UpperCAmelCase			: Tuple     					=			coeff_a, old_coeff_a - quotient * coeff_a
        _UpperCAmelCase			: Any     					=			coeff_b, old_coeff_b - quotient * coeff_b

    # sign correction for negative numbers
    if a < 0:
        _UpperCAmelCase			: List[Any]     					=			-old_coeff_a
    if b < 0:
        _UpperCAmelCase			: Any     					=			-old_coeff_b

    return old_coeff_a, old_coeff_b

def        _lowerCamelCase		(  ) ->   Union[str, Any]:
    if len(sys.argv	) < 3:
        print('''2 integer arguments required'''	)
        return 1
    _UpperCAmelCase			: Dict     					=			int(sys.argv[1]	)
    _UpperCAmelCase			: List[str]     					=			int(sys.argv[2]	)
    print(extended_euclidean_algorithm(__A						,						__A	)	)
    return 0


if __name__ == "__main__":
  raise SystemExit(main())












from unittest.mock import patch

import datasets
from datasets import Dataset

def        _lowerCamelCase		(  ) ->   Tuple:
    _UpperCAmelCase			: Union[str, Any]     					=			Dataset.from_dict({'''col_1''': [3, 2, 0, 1]}	)

    with patch('''tqdm.auto.tqdm'''	) as mock_tqdm:
        datasets.disable_progress_bar()
        dset.map(lambda __A	: {"col_2": x["col_1"] + 1}	)
        mock_tqdm.assert_not_called()

        mock_tqdm.reset_mock()

        datasets.enable_progress_bar()
        dset.map(lambda __A	: {"col_2": x["col_1"] + 1}	)
        mock_tqdm.assert_called()




