




def       UpperCAmelCase__  (     lowerCamelCase   ):
  try:
    lowercase    :Union[str, Any]      	=						float(lowerCamelCase   )
  except ValueError:
    raise ValueError("Please enter a valid number"   )
  lowercase    :Any      	=						decimal - int(lowerCamelCase   )
  if fractional_part == 0:
    return int(lowerCamelCase   ), 1
  else:
    lowercase    :str      	=						len(str(lowerCamelCase   ).split("."   )[1]   )
    lowercase    :Any      	=						int(decimal * (10**number_of_frac_digits)   )
    lowercase    :Tuple      	=						10**number_of_frac_digits
    lowercase    :List[Any]      	=						denominator, numerator
    while True:
      lowercase    :str      	=						dividend % divisor
      if remainder == 0:
        break
      lowercase    :Tuple      	=						divisor, remainder
    lowercase    :Tuple      	=						numerator / divisor, denominator / divisor
    return int(lowerCamelCase   ), int(lowerCamelCase   )


if __name__ == "__main__":
     print(f'''{decimal_to_fraction(2) = }''')
     print(f'''{decimal_to_fraction(89.0) = }''')
     print(f'''{decimal_to_fraction("67") = }''')
     print(f'''{decimal_to_fraction("45.0") = }''')
     print(f'''{decimal_to_fraction(1.5) = }''')
     print(f'''{decimal_to_fraction("6.25") = }''')
     print(f'''{decimal_to_fraction("78td") = }''')









def       UpperCAmelCase__  (     lowerCamelCase,			lowerCamelCase   ):
  return int((input_a, input_a).count(0   ) != 0   )



def       UpperCAmelCase__  (     ):
  assert nand_gate(0,			0   ) == 1
  assert nand_gate(0,			1   ) == 1
  assert nand_gate(1,			0   ) == 1
  assert nand_gate(1,			1   ) == 0


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



