


'''simple docstring'''
import math
import sys


def       _lowercase							(					UpperCamelCase__							:       int      ):
 if number != int(UpperCamelCase__      ):
  raise ValueError('the value of input must be a natural number'      )
 if number < 0:
  raise ValueError('the value of input must not be a negative number'      )
 if number == 0:
  return 1
 __A	:		Any	  =      [-1] * (number + 1)
 __A	:		str	  =      0
 for i in range(1,					number + 1      ):
  __A	:		Union[str, Any]	  =      sys.maxsize
  __A	:		List[str]	  =      int(math.sqrt(UpperCamelCase__      )      )
  for j in range(1,					root + 1      ):
   __A	:		Union[str, Any]	  =      1 + answers[i - (j**2)]
   __A	:		List[Any]	  =      min(UpperCamelCase__,					UpperCamelCase__      )
  __A	:		Tuple	  =      answer
 return answers[number]


if __name__ == "__main__":
 import doctest

 doctest.testmod()










'''simple docstring'''
def       _lowercase							(					UpperCamelCase__							:       int,					UpperCamelCase__							:       int      ):
 return 1 if input_a == input_a else 0


def       _lowercase							(					):
 assert xnor_gate(0,					0      ) == 1
 assert xnor_gate(0,					1      ) == 0
 assert xnor_gate(1,					0      ) == 0
 assert xnor_gate(1,					1      ) == 1


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






