input: Write a python function to preprocess the data, create a KNeighborsClassifier model, and predict the sales price. 
  assert predict_sales_price([[110000, 'Petrol', 'Manual', 1990, 30, 3000]], [[1]])[0] in [0, 1]
  assert predict_sales_price([[50000, 'Diesel', 'Automatic', 2010, 40, 1500]], [[0]])[0] in [0, 1]
output: def predict_sales_price(features, labels):
      from sklearn.preprocessing import LabelEncoder
      from sklearn.model_selection import train_test_split
      from sklearn.neighbors import KNeighborsClassifier
      import numpy as np
  
      # Convert categorical features to numeric
      le_fuel = LabelEncoder()
      le_transmission = LabelEncoder()
      
      # Assuming 'Petrol' and 'Diesel' are the only categories in fuel
      le_fuel.fit(['Petrol', 'Diesel'])
      
      # Assuming 'Manual' and 'Automatic' are the only categories in transmission
      le_transmission.fit(['Manual', 'Automatic'])
      
      features = np.array(features)
      features[:, 1] = le_fuel.transform(features[:, 1])
      features[:, 2] = le_transmission.transform(features[:, 2])
      features = features.astype(float)
      
      # Split the data (using dummy train-test split for the sake of this example)
      X_train, X_test, y_train, y_test = train_test_split(features, labels, test_size=0.2, random_state=42)
      
      # Create and train the KNeighborsClassifier model
      model = KNeighborsClassifier(n_neighbors=3)
      model.fit(X_train, y_train)
      
      # Predict the sales price
      predictions = model.predict(features)
      
      return predictions.tolist()