






def 				snake_case__							(							UpperCAmelCase							:  Optional[Any]       ):

    # bit count represents no. of bits in the gray code
    if bit_count < 0:
        raise ValueError("The given input must be positive"       )

    # get the generated string sequence
    lowerCAmelCase__   :Dict      							=				gray_code_sequence_string(_SCREAMING_SNAKE_CASE       )
    #
    # convert them to integers
    for i in range(len(_SCREAMING_SNAKE_CASE       )       ):
        lowerCAmelCase__   :Optional[Any]      							=				int(sequence[i]    ,			2       )

    return sequence


def 				snake_case__							(							UpperCAmelCase							:  Union[str, Any]       ):

    # The approach is a recursive one
    # Base case achieved when either n = 0 or n=1
    if bit_count == 0:
        return ["0"]

    if bit_count == 1:
        return ["0", "1"]

    lowerCAmelCase__   :Union[str, Any]      							=				1 << bit_count  # defines the length of the sequence
    # 1<< n is equivalent to 2^n

    # recursive answer will generate answer for n-1 bits
    lowerCAmelCase__   :List[str]      							=				gray_code_sequence_string(bit_count - 1       )

    lowerCAmelCase__   :str      							=				[]

    # append 0 to first half of the smaller sequence generated
    for i in range(seq_len // 2       ):
        lowerCAmelCase__   :int      							=				"0" + smaller_sequence[i]
        sequence.append(_SCREAMING_SNAKE_CASE       )

    # append 1 to second half ... start from the end of the list
    for i in reversed(range(seq_len // 2       )       ):
        lowerCAmelCase__   :int      							=				"1" + smaller_sequence[i]
        sequence.append(_SCREAMING_SNAKE_CASE       )

    return sequence


if __name__ == "__main__":
 import doctest

 doctest.testmod()











def 				snake_case__							(							UpperCAmelCase							:  Tuple       ):
    lowerCAmelCase__   :List[Any]      							=				len(UpperCAmelCase       )
    for i in range(length - 1       ):
        lowerCAmelCase__   :Union[str, Any]      							=				i
        for k in range(i + 1    ,			UpperCAmelCase       ):
            if collection[k] < collection[least]:
                lowerCAmelCase__   :Any      							=				k
        if least != i:
            lowerCAmelCase__							,lowerCAmelCase__   :int      							=				(collection[i], collection[least])
    return collection


if __name__ == "__main__":
 _a    :   Optional[int]        =			input("""Enter numbers separated by a comma:\n""").strip()
 _a    :   Any        =			[int(item) for item in user_input.split(""",""")]
 print(selection_sort(unsorted))



