






from __future__ import annotations






def 				A	(			a_   )	->		set[int]:
					__UpperCamelCase :   Optional[Any]									={1}
					__UpperCamelCase :   Optional[Any]									=[1]
					for _ in range(2				,depth + 1   ):
										__UpperCamelCase :   Union[str, Any]									=[*previous_coefficients, 0]
										__UpperCamelCase :   str									=[0, *previous_coefficients]
										__UpperCamelCase :   Optional[int]									=[]
										for x, y in zip(a_				,a_   ):
															coefficients.add(x + y   )
															previous_coefficients.append(x + y   )
					return coefficients






def 				A	(			a_   )	->		set[int]:
					__UpperCamelCase :   Optional[Any]									=set()
					for number in unique_coefficients:
										__UpperCamelCase :   Dict									=2
										__UpperCamelCase :   Optional[int]									=number
										while divisor**2 <= copy_number:
															__UpperCamelCase :   List[Any]									=0
															while copy_number % divisor == 0:
																				copy_number //= divisor
																				multiplicity += 1
															if multiplicity >= 2:
																				non_squarefrees.add(a_   )
																				break
															divisor += 1

					return unique_coefficients.difference(a_   )






def 				A	(			a_ = 51   )	->		int:
					__UpperCamelCase :   Union[str, Any]									=get_pascal_triangle_unique_coefficients(a_   )
					__UpperCamelCase :   Tuple									=get_squarefrees(a_   )
					return sum(a_   )


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









from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier

# Load iris file
A_			:Union[str, Any]	    =		load_iris()
iris.keys()


print(f"Target names: \n {iris.target_names} ")
print(f"\n Features: \n {iris.feature_names}")

# Train set e Test set
A_    ,A_    ,A_    ,A_			:Tuple	    =		train_test_split(
    iris['''data'''], iris['''target'''], random_state=4
)

# KNN

A_			:Any	    =		KNeighborsClassifier(n_neighbors=1)
knn.fit(X_train, y_train)

# new array to test
A_			:Optional[Any]	    =		[[1, 2, 1, 4], [2, 3, 4, 5]]

A_			:Union[str, Any]	    =		knn.predict(X_new)

print(
    f"\nNew array: \n {X_new}\n\nTarget Names Prediction: \n"
    f" {iris['target_names'][prediction]}"
)

