assuming your model is meeting all the required assumptions (which is something that must be looked at) then this model output is telling you that there is a highly significant (p <2.2e-16) relationship between your response variable and your predictor variables. The high r-squared values are telling you that you are able to very closely match the actual response values with the predicted response values from your model.

As for the complex p-value, the default output of `summary()`

truncates any p-values that are less than 2.2 x 10^-16 (or 2.2e-16). Typically results are considered significant when a p-value is less than 0.05 or 0.01 (although there is definitely debate as to the appropriateness, for lack of a better word, of these value), so showing numbers less than 2.2e-16 is not going to make a significant difference in its interpretation.

As for whether the model is "acceptable", that totally depends on what your model is for. In a lot of contexts, again assuming that model assumptions are met, this model will be more than acceptable.