
def 				SCREAMING_SNAKE_CASE     (      __UpperCamelCase :						Optional[int]       ) ->       list:

				"""simple docstring"""







				if bit_count < 0:
								raise ValueError('''The given input must be positive'''       )

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

				return sequence

def 				SCREAMING_SNAKE_CASE     (      __UpperCamelCase :						int       ) ->       list:

				"""simple docstring"""







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

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

				A__  :	Optional[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
				A__  :	Optional[Any]         =							gray_code_sequence_string(bit_count - 1       )

				A__  :	Union[str, Any]         =							[]

				# append 0 to first half of the smaller sequence generated
				for i in range(seq_len // 2       ):
								A__  :	Optional[Any]         =							'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       )       ):
								A__  :	int         =							'1' + smaller_sequence[i]
								sequence.append(SCREAMING_SNAKE_CASE_       )

				return sequence


if __name__ == "__main__":
			import doctest

			doctest.testmod()

def 				SCREAMING_SNAKE_CASE     (      ) ->       Optional[int]:

				"""simple docstring"""







				A__  :	Optional[Any]         =							0
				for i in range(1							,						10_01       ):
								total += i**i
				return str(__UpperCamelCase       )[-10:]


if __name__ == "__main__":
					print(solution())