

import os

def 						UpperCamelCase					()     ->      Dict:
	with open(os.path.dirname(lowercase_					) + """/grid.txt"""					) as f:
		A__							:    Dict        =		[]  # noqa: E741
		for _ in range(20					):
			l.append([int(lowercase_					) for x in f.readline().split()]					)

		A__							:    Optional[Any]        =		0

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

        # down
		for i in range(17					):
			for j in range(20					):
				A__							:    Tuple        =		l[i][j] * l[i + 1][j] * l[i + 2][j] * l[i + 3][j]
				if temp > maximum:
					A__							:    Union[str, Any]        =		temp

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

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


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






from typing import TYPE_CHECKING

from ...file_utils import _LazyModule, is_torch_available
from ...utils import OptionalDependencyNotAvailable


A_       : List[str]         =			{
    'configuration_gpt_neox_japanese': ['GPT_NEOX_JAPANESE_PRETRAINED_CONFIG_ARCHIVE_MAP', 'GPTNeoXJapaneseConfig'],
    'tokenization_gpt_neox_japanese': ['GPTNeoXJapaneseTokenizer'],
}

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	A_       : Optional[int]         =			[
	    'GPT_NEOX_JAPANESE_PRETRAINED_MODEL_ARCHIVE_LIST',
	    'GPTNeoXJapaneseForCausalLM',
	    'GPTNeoXJapaneseLayer',
	    'GPTNeoXJapaneseModel',
	    'GPTNeoXJapanesePreTrainedModel',
	]


if TYPE_CHECKING:
	from .configuration_gpt_neox_japanese import GPT_NEOX_JAPANESE_PRETRAINED_CONFIG_ARCHIVE_MAP, GPTNeoXJapaneseConfig
	from .tokenization_gpt_neox_japanese import GPTNeoXJapaneseTokenizer

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_gpt_neox_japanese import (
		    GPT_NEOX_JAPANESE_PRETRAINED_MODEL_ARCHIVE_LIST,
		    GPTNeoXJapaneseForCausalLM,
		    GPTNeoXJapaneseLayer,
		    GPTNeoXJapaneseModel,
		    GPTNeoXJapanesePreTrainedModel,
		)


else:
	import sys

	A_       : Any         =			_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)



