



import os






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

								a__	:							Optional[int]      						= 0

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

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

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

        # diagonal 2
								for i in range(17 ):
												for j in range(3	,				20 ):
																a__	:							Optional[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
								return maximum


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







from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


lowerCamelCase		       =      {
    """configuration_instructblip""": [
        """INSTRUCTBLIP_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """InstructBlipConfig""",
        """InstructBlipQFormerConfig""",
        """InstructBlipVisionConfig""",
    ],
    """processing_instructblip""": ["""InstructBlipProcessor"""],
}

try:
						if not is_torch_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						lowerCamelCase		       =      [
						    """INSTRUCTBLIP_PRETRAINED_MODEL_ARCHIVE_LIST""",
						    """InstructBlipQFormerModel""",
						    """InstructBlipPreTrainedModel""",
						    """InstructBlipForConditionalGeneration""",
						    """InstructBlipVisionModel""",
						]

if TYPE_CHECKING:
						from .configuration_instructblip import (
						    INSTRUCTBLIP_PRETRAINED_CONFIG_ARCHIVE_MAP,
						    InstructBlipConfig,
						    InstructBlipQFormerConfig,
						    InstructBlipVisionConfig,
						)
						from .processing_instructblip import InstructBlipProcessor

						try:
												if not is_torch_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_instructblip import (
												    INSTRUCTBLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
												    InstructBlipForConditionalGeneration,
												    InstructBlipPreTrainedModel,
												    InstructBlipQFormerModel,
												    InstructBlipVisionModel,
												)

else:
						import sys

						lowerCamelCase		       =      _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)


