



import os

def 	SCREAMING_SNAKE_CASE_							(	_snake_case	:int				)  ->     List[Any]:
   _A      =       len(grid[0]				)
   _A      =       len(_snake_case				)

   _A      =       0
   _A      =       0
   _A      =       0

   # Check vertically, horizontally, diagonally at the same time (only works
   # for nxn grid)
   for i in range(_snake_case				):
      for j in range(n_rows - 3				):
         _A      =       grid[j][i] * grid[j + 1][i] * grid[j + 2][i] * grid[j + 3][i]
         _A      =       grid[i][j] * grid[i][j + 1] * grid[i][j + 2] * grid[i][j + 3]

         # Left-to-right diagonal (\) product
         if i < n_columns - 3:
            _A      =       (
                grid[i][j]
                * grid[i + 1][j + 1]
                * grid[i + 2][j + 2]
                * grid[i + 3][j + 3]
            )

         # Right-to-left diagonal(/) product
         if i > 2:
            _A      =       (
                grid[i][j]
                * grid[i - 1][j + 1]
                * grid[i - 2][j + 2]
                * grid[i - 3][j + 3]
            )

         _A      =       max(
             _snake_case	,   _snake_case	,   _snake_case	,   _snake_case				)
         if max_product > largest:
            _A      =       max_product

   return largest

def 	SCREAMING_SNAKE_CASE_							(	)  ->     Union[str, Any]:
   _A      =       []
   with open(os.path.dirname(_snake_case				) + '''/grid.txt'''				) as file:
      for line in file:
         grid.append(line.strip('''\n'''				).split(''' '''				)				)

   _A      =       [[int(_snake_case				) for i in grid[j]] for j in range(len(_snake_case				)				)]

   return largest_product(_snake_case				)


if __name__ == "__main__":
   print(solution())






"""simple docstring"""


from statistics import mean, stdev



def   _A					(	_a	:						list     ,   _a	:						int = 3				):



      """simple docstring"""






      A				  =		min(_a				)
      A				  =		max(_a				)
      # normalize data
      return [round((x - x_min) / (x_max - x_min)     ,   _a				) for x in data]





def   _A					(	_a	:						list     ,   _a	:						int = 3				):



      """simple docstring"""






      A				  =		mean(_a				)
      A				  =		stdev(_a				)
      # standardize data
      return [round((x - mu) / (sigma)     ,   _a				) for x in data]




