Please solve the programming task below using a self-contained code snippet in a markdown code block.

A 3 x 3 magic square is a 3 x 3 grid filled with distinct numbers from 1 to 9 such that each row, column, and both diagonals all have the same sum.
Given a row x col grid of integers, how many 3 x 3 magic square subgrids are there?
Note: while a magic square can only contain numbers from 1 to 9, grid may contain numbers up to 15.
 
Please complete the following python code precisely:
```python
class Solution:
    def numMagicSquaresInside(self, grid: List[List[int]]) -> int:
```