why this * is used with the input forward function?

def forward(self, *input):


If the shape of the output of a model is 32*4. I am not getting why this unsqueeze(1) here:

 out = model(x.unsqueeze(1))


This question is really silly. But please forgive me.
If x is 8*64 and it is passed to a fully connected layer as:

 self.fc = nn.Linear(in_features=8, out_features=4) 
 x = self.fc(x)

Then how many weight matrices will be there 256*512 and then 4*256, Here 512 is from 8*46 am I right ?
Regards