Implement `knn_predict(X_train, y_train, x_test, k)` returning predicted integer class label.
knn_predict(X_train: list[list[float]], y_train: list[int], x_test: list[float], k: int) -> int