input: Write a python function to train and evaluate a Support Vector Classifier with a linear kernel using given dataset.
  assert train_and_evaluate_svm([[1, 2, 3, 0], [4, 5, 6, 1], [7, 8, 9, 0], [10, 11, 12, 1]], test_size=0.25, random_state=42) > 0.5
  assert train_and_evaluate_svm([[1, 1, 1, 0], [2, 2, 2, 1], [3, 3, 3, 0], [4, 4, 4, 1]], test_size=0.5, random_state=1) > 0.5
output: def train_and_evaluate_svm(dataset, test_size, random_state):
      from sklearn.model_selection import train_test_split
      from sklearn.svm import SVC
      from sklearn.metrics import accuracy_score
      
      X = [row[:-1] for row in dataset]
      y = [row[-1] for row in dataset]
      
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=test_size, random_state=random_state)
      
      clf = SVC(kernel='linear')
      clf.fit(X_train, y_train)
      
      y_pred = clf.predict(X_test)
      
      accuracy = accuracy_score(y_test, y_pred)
      
      return accuracy