


def 							UpperCAmelCase				(     UpperCAmelCase				,UpperCAmelCase				,UpperCAmelCase				,UpperCAmelCase      )->		str:







					'''simple docstring'''



					if start == end:
										return start if lst[start] > item else start + 1
					if start > end:
										return start

					SCREAMING_SNAKE_CASE_	      =       (start + end) // 2
					if lst[mid] < item:
										return binary_search(lowerCamelCase__				,lowerCamelCase__				,mid + 1				,lowerCamelCase__      )
					elif lst[mid] > item:
										return binary_search(lowerCamelCase__				,lowerCamelCase__				,lowerCamelCase__				,mid - 1      )
					else:
										return mid







def 							UpperCAmelCase				(     UpperCAmelCase      )->		str:







					'''simple docstring'''



					SCREAMING_SNAKE_CASE_	      =       len(lowerCamelCase__      )

					for index in range(1				,lowerCamelCase__      ):
										SCREAMING_SNAKE_CASE_	      =       lst[index]
										SCREAMING_SNAKE_CASE_	      =       binary_search(lowerCamelCase__				,lowerCamelCase__				,0				,index - 1      )
										SCREAMING_SNAKE_CASE_	      =       lst[:pos] + [value] + lst[pos:index] + lst[index + 1 :]

					return lst







def 							UpperCAmelCase				(     UpperCAmelCase				,UpperCAmelCase      )->		List[str]:







					'''simple docstring'''



					if not left:
										return right

					if not right:
										return left

					if left[0] < right[0]:
										return [left[0], *merge(left[1:]				,lowerCamelCase__      )]

					return [right[0], *merge(lowerCamelCase__				,right[1:]      )]







def 							UpperCAmelCase				(     UpperCAmelCase      )->		Dict:







					'''simple docstring'''



					SCREAMING_SNAKE_CASE_	      =       len(lowerCamelCase__      )
					SCREAMING_SNAKE_CASE_      ,SCREAMING_SNAKE_CASE_	      =       [], []
					SCREAMING_SNAKE_CASE_	      =       [lst[0]]
					SCREAMING_SNAKE_CASE_	      =       []
					SCREAMING_SNAKE_CASE_	      =       1
					while i < length:
										if lst[i] < lst[i - 1]:
															runs.append(lowerCamelCase__      )
															SCREAMING_SNAKE_CASE_	      =       [lst[i]]
										else:
															new_run.append(lst[i]      )
										i += 1
					runs.append(lowerCamelCase__      )

					for run in runs:
										sorted_runs.append(insertion_sort(lowerCamelCase__      )      )
					for run in sorted_runs:
										SCREAMING_SNAKE_CASE_	      =       merge(lowerCamelCase__				,lowerCamelCase__      )

					return sorted_array







def 							UpperCAmelCase				(     )->		Union[str, Any]:







					'''simple docstring'''



					SCREAMING_SNAKE_CASE_	      =       [5, 9, 10, 3, -4, 5, 178, 92, 46, -18, 0, 7]
					SCREAMING_SNAKE_CASE_	      =       tim_sort(lowerCamelCase__      )
					print(lowerCamelCase__      )


if __name__ == "__main__":
		main()






def 							UpperCAmelCase				(     UpperCAmelCase				,UpperCAmelCase      )->		int:







					'''simple docstring'''



					return (input_a, input_a).count(0      ) % 2







def 							UpperCAmelCase				(     )->		None:







					'''simple docstring'''



					assert xor_gate(0				,0      ) == 0
					assert xor_gate(0				,1      ) == 1
					assert xor_gate(1				,0      ) == 1
					assert xor_gate(1				,1      ) == 0


if __name__ == "__main__":
		print(xor_gate(0, 0))
		print(xor_gate(0, 1))


