




'''simple docstring'''


from __future__ import annotations


def 						SCREAMING_SNAKE_CASE       (      a_	:							int				,					a_	:							str				,					a_	:							Any			):






  if days_between_payments <= 0:
    raise ValueError('days_between_payments must be > 0'			)
  if daily_interest_rate < 0:
    raise ValueError('daily_interest_rate must be >= 0'			)
  if principal <= 0:
    raise ValueError('principal must be > 0'			)
  return principal * daily_interest_rate * days_between_payments


def 						SCREAMING_SNAKE_CASE       (      a_	:							Union[str, Any]				,					a_	:							Any				,					a_	:							Optional[Any]				,					):






  if number_of_compounding_periods <= 0:
    raise ValueError('number_of_compounding_periods must be > 0'			)
  if nominal_annual_interest_rate_percentage < 0:
    raise ValueError('nominal_annual_interest_rate_percentage must be >= 0'			)
  if principal <= 0:
    raise ValueError('principal must be > 0'			)

  return principal * (
      (1 + nominal_annual_interest_rate_percentage) ** number_of_compounding_periods
      - 1
  )


def 						SCREAMING_SNAKE_CASE       (      a_	:							Dict				,					a_	:							str				,					a_	:							str				,					):






  if number_of_years <= 0:
    raise ValueError('number_of_years must be > 0'			)
  if nominal_annual_percentage_rate < 0:
    raise ValueError('nominal_annual_percentage_rate must be >= 0'			)
  if principal <= 0:
    raise ValueError('principal must be > 0'			)

  return compound_interest(
      UpperCamelCase__				,					nominal_annual_percentage_rate / 365				,					number_of_years * 365			)


if __name__ == "__main__":
  import doctest

  doctest.testmod()









'''simple docstring'''


import os


def 						SCREAMING_SNAKE_CASE       (      ):
  with open(os.path.dirname(a_			) + '/grid.txt'			) as f:
    __a			=					[]  # noqa: E741
    for _ in range(20			):
      l.append([int(a_			) for x in f.readline().split()]			)

    __a			=					0

    # right
    for i in range(20			):
      for j in range(17			):
        __a			=					l[i][j] * l[i][j + 1] * l[i][j + 2] * l[i][j + 3]
        if temp > maximum:
          __a			=					temp

        # down
    for i in range(17			):
      for j in range(20			):
        __a			=					l[i][j] * l[i + 1][j] * l[i + 2][j] * l[i + 3][j]
        if temp > maximum:
          __a			=					temp

        # diagonal 1
    for i in range(17			):
      for j in range(17			):
        __a			=					l[i][j] * l[i + 1][j + 1] * l[i + 2][j + 2] * l[i + 3][j + 3]
        if temp > maximum:
          __a			=					temp

        # diagonal 2
    for i in range(17			):
      for j in range(3				,					20			):
        __a			=					l[i][j] * l[i + 1][j - 1] * l[i + 2][j - 2] * l[i + 3][j - 3]
        if temp > maximum:
          __a			=					temp
    return maximum


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



