
'''simple docstring'''

def __A  (    lowerCAmelCase_       ):
     _UpperCAmelCase					:  Tuple         =    str(lowerCAmelCase_       ).strip()
     if not oct_string:
          raise ValueError("""Empty string was passed to the function"""       )
     _UpperCAmelCase					:  Union[str, Any]         =    oct_string[0] == """-"""
     if is_negative:
          _UpperCAmelCase					:  Dict         =    oct_string[1:]
     if not oct_string.isdigit() or not all(0 <= int(lowerCAmelCase_       ) <= 7 for char in oct_string       ):
          raise ValueError("""Non-octal value was passed to the function"""       )
     _UpperCAmelCase					:  Optional[int]         =    0
     for char in oct_string:
          _UpperCAmelCase					:  List[Any]         =    8 * decimal_number + int(lowerCAmelCase_       )
     if is_negative:
          _UpperCAmelCase					:  int         =    -decimal_number
     return decimal_number


if __name__ == "__main__":
   from doctest import testmod

   testmod()




'''simple docstring'''

from __future__ import annotations







def __A  (    lowerCAmelCase_       ):
     _UpperCAmelCase					:  Optional[int]         =    {1}
     _UpperCAmelCase					:  Union[str, Any]         =    [1]
     for _ in range(2 ,       depth + 1       ):
          _UpperCAmelCase					:  Dict         =    [*previous_coefficients, 0]
          _UpperCAmelCase					:  int         =    [0, *previous_coefficients]
          _UpperCAmelCase					:  List[Any]         =    []
          for x, y in zip(lowerCAmelCase_ ,       lowerCAmelCase_       ):
               coefficients.add(x + y       )
               previous_coefficients.append(x + y       )
     return coefficients







def __A  (    lowerCAmelCase_       ):
     _UpperCAmelCase					:  Dict         =    set()
     for number in unique_coefficients:
          _UpperCAmelCase					:  Tuple         =    2
          _UpperCAmelCase					:  List[str]         =    number
          while divisor**2 <= copy_number:
               _UpperCAmelCase					:  Tuple         =    0
               while copy_number % divisor == 0:
                    copy_number //= divisor
                    multiplicity += 1
               if multiplicity >= 2:
                    non_squarefrees.add(lowerCAmelCase_       )
                    break
               divisor += 1

     return unique_coefficients.difference(lowerCAmelCase_       )







def __A  (    lowerCAmelCase_ = 51       ):
     _UpperCAmelCase					:  List[str]         =    get_pascal_triangle_unique_coefficients(lowerCAmelCase_       )
     _UpperCAmelCase					:  Optional[Any]         =    get_squarefrees(lowerCAmelCase_       )
     return sum(lowerCAmelCase_       )


if __name__ == "__main__":
   print(F"{solution() = }")


