input: Write a function to perform linear regression for predicting the numbers in a given dataset. The function should take two lists X and Y as input and return the predicted value for a new input. Use the sklearn library for linear regression. The function should handle the reshaping of arrays and the fitting of the model.
  
  from sklearn.linear_model import LinearRegression
  import numpy as np
  
  def linear_regression(X, Y, new_input):
      X = np.array(X).reshape(-1, 1)
      Y = np.array(Y)
      
      model = LinearRegression()
      model.fit(X, Y)
      
      return model.predict([new_input])[0]
  
  assert linear_regression([1,2,3,4,5], [3,5,7,9,13], [7]) == 15.0
  assert linear_regression([1,2,3,4], [2,4,6,8], [5]) == 10.0
  assert linear_regression([0,1,2,3], [1,3,5,7], [4]) == 9.0
  assert linear_regression([5,10,15,20], [10,20,30,40], [25]) == 50.0
  assert linear_regression([2,4,6], [4,8,12], [8]) == 16.0
output: 
  def linear_regression(X, Y, new_input):
      X = np.array(X).reshape(-1, 1)
      Y = np.array(Y)
      
      model = LinearRegression()
      model.fit(X, Y)
      
      return model.predict([new_input])[0]
  