






"""simple docstring"""






def       _A    (__a					,       __a							)				-> Dict:
    """simple docstring"""






    if a < 0 or b < 0:
        raise ValueError('''the value of both inputs must be positive'''							)

    SCREAMING_SNAKE_CASE_   :						Union[str, Any]							=	str(bin(_lowerCamelCase							)							)[2:]  # remove the leading "0b"
    SCREAMING_SNAKE_CASE_   :						int							=	str(bin(_lowerCamelCase							)							)[2:]  # remove the leading "0b"

    SCREAMING_SNAKE_CASE_   :						Optional[int]							=	max(len(_lowerCamelCase							)					,       len(_lowerCamelCase							)							)

    return "0b" + "".join(
        str(int(char_a == '''1''' and char_b == '''1'''							)							)
        for char_a, char_b in zip(a_binary.zfill(_lowerCamelCase							)					,       b_binary.zfill(_lowerCamelCase							)							)							)


if __name__ == "__main__":
  import doctest

  doctest.testmod()










"""simple docstring"""






from collections import defaultdict

from graphs.minimum_spanning_tree_prims import prisms_algorithm as mst



def       _A    ()				-> Union[str, Any]:
    """simple docstring"""






    SCREAMING_SNAKE_CASE_		,    SCREAMING_SNAKE_CASE_   :						Tuple							=	9, 14  # noqa: F841
    SCREAMING_SNAKE_CASE_   :						Tuple							=	[
        [0, 1, 4],
        [0, 7, 8],
        [1, 2, 8],
        [7, 8, 7],
        [7, 6, 1],
        [2, 8, 2],
        [8, 6, 6],
        [2, 3, 7],
        [2, 5, 4],
        [6, 5, 2],
        [3, 5, 14],
        [3, 4, 9],
        [5, 4, 10],
        [1, 7, 11],
    ]

    SCREAMING_SNAKE_CASE_   :						Dict							=	defaultdict(__a							)
    for nodea, nodea, cost in edges:
        adjancency[nodea].append([nodea, cost]							)
        adjancency[nodea].append([nodea, cost]							)

    SCREAMING_SNAKE_CASE_   :						Any							=	mst(__a							)

    SCREAMING_SNAKE_CASE_   :						Optional[int]							=	[
        [7, 6, 1],
        [2, 8, 2],
        [6, 5, 2],
        [0, 1, 4],
        [2, 5, 4],
        [2, 3, 7],
        [0, 7, 8],
        [3, 4, 9],
    ]

    for answer in expected:
        SCREAMING_SNAKE_CASE_   :						Dict							=	tuple(answer[:2]							)
        SCREAMING_SNAKE_CASE_   :						Optional[int]							=	tuple(edge[::-1]							)
        assert edge in result or reverse in result


