code: 
  
  
  
  
  
  def 		_SCREAMING_SNAKE_CASE    (   lowerCAmelCase__       ,lowerCAmelCase__       ,lowerCAmelCase__       ,lowerCAmelCase__       ,lowerCAmelCase__	):
  		if target == 0:
  				answer.append(path.copy()	)
  		else:
  				for index in range(lowerCAmelCase__       ,len(lowerCAmelCase__	)	):
  						if target >= candidates[index]:
  								path.append(candidates[index]	)
  								backtrack(lowerCAmelCase__       ,lowerCAmelCase__       ,lowerCAmelCase__       ,target - candidates[index]       ,lowerCAmelCase__	)
  								path.pop(len(lowerCAmelCase__	) - 1	)
  
  
  def 		_SCREAMING_SNAKE_CASE    (   lowerCAmelCase__       ,lowerCAmelCase__	):
  		lowerCamelCase_  :    int   	=			[]  # type: list[int]
  		lowerCamelCase_  :    Optional[int]   	=			[]  # type: list[int]
  		backtrack(lowerCAmelCase__       ,lowerCAmelCase__       ,lowerCAmelCase__       ,lowerCAmelCase__       ,0	)
  		return answer
  
  
  def 		_SCREAMING_SNAKE_CASE    (   ):
  		print(combination_sum([-8, 2.3, 0]       ,1	)	)
  
  
  if __name__ == "__main__":
  		import doctest
  
  		doctest.testmod()
  		main()
  
style_context: 
  
  
  
  
  
  def 		_SCREAMING_SNAKE_CASE    (   lowerCAmelCase__       ,lowerCAmelCase__	):
  		return (input_a, input_a).count(0	) % 2
  
  
  def 		_SCREAMING_SNAKE_CASE    (   ):
  		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))
  