<s>[INST] Here is a program that creates a neuron with 3 inputs and 1 output.
```python
import numpy as np

class Neuron:
    def __init__(self, learning_rate):
        self.weights = np.random.rand(3)
        self.bias = np.random.rand(1)
        self.learning_rate = learning_rate

    def _feedforward(self, inputs):
        return np.dot(inputs, self.weights) + self.bias

    def train(self, inputs, target):
        prediction = self._feedforward(inputs)
        prediction_error = target - prediction
        weight_update = self.learning_rate * prediction_error * inputs
        bias_update = self.learning_rate * prediction_error
        self.weights += weight_update
        self.bias += bias_update

    def predict(self, inputs):
        return self._feedforward(inputs)

# Create a neuron and train it
neuron = Neuron(learning_rate=0.1)
inputs = np.array([1, 2, 3])
target = 1
neuron.train(inputs, target)
print(neuron.predict(inputs))
```
However, when I add another input to the neuron, like so:
```python
inputs = np.array([1, 2, 3, 4])
```
The program crashes because the weights are not reshaped.

How do I add new inputs to the neuron without having to reinitialize it?[/INST]