


"""simple docstring"""


from collections import OrderedDict
from typing import Mapping

from packaging import version

from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfig
from ...utils import logging


__lowerCamelCase      :int	    =		logging.get_logger(__name__)

__lowerCamelCase      :str	    =		{
    'facebook/deit-base-distilled-patch16-224': (
        'https://huggingface.co/facebook/deit-base-patch16-224/resolve/main/config.json'
    ),
    # See all DeiT models at https://huggingface.co/models?filter=deit
}


class 			A__	(						__lowercase):


     """simple docstring"""
     snake_case__	:					Any													='''deit'''

     def __init__(	self:						Dict     ,		__a:						Tuple=768     ,		__a:						str=12     ,		__a:						Union[str, Any]=12     ,		__a:						Optional[int]=3_072     ,		__a:						Dict="gelu"     ,		__a:						List[Any]=0.0     ,		__a:						Dict=0.0     ,		__a:						List[Any]=0.02     ,		__a:						Optional[Any]=1e-1_2     ,		__a:						Union[str, Any]=224     ,		__a:						Dict=16     ,		__a:						Optional[Any]=3     ,		__a:						List[Any]=True     ,		__a:						Optional[Any]=16     ,		**__a:						List[Any]     ,		)->    Tuple:
           super().__init__(**__a	)

           lowerCamelCase					:					str        =	hidden_size
           lowerCamelCase					:					List[Any]        =	num_hidden_layers
           lowerCamelCase					:					List[str]        =	num_attention_heads
           lowerCamelCase					:					Tuple        =	intermediate_size
           lowerCamelCase					:					Union[str, Any]        =	hidden_act
           lowerCamelCase					:					Dict        =	hidden_dropout_prob
           lowerCamelCase					:					Tuple        =	attention_probs_dropout_prob
           lowerCamelCase					:					Any        =	initializer_range
           lowerCamelCase					:					List[Any]        =	layer_norm_eps
           lowerCamelCase					:					Tuple        =	image_size
           lowerCamelCase					:					List[Any]        =	patch_size
           lowerCamelCase					:					Optional[int]        =	num_channels
           lowerCamelCase					:					str        =	qkv_bias
           lowerCamelCase					:					str        =	encoder_stride


class 			A__	(						__lowercase):


     """simple docstring"""
     snake_case__	:					Union[str, Any]													=version.parse('''1.11''')

     @property
     def 		a__						(	self:						Dict	)->    Mapping[str, Mapping[int, str]]:
           return OrderedDict(
               [
                   ("""pixel_values""", {0: """batch""", 1: """num_channels""", 2: """height""", 3: """width"""}),
               ]	)







     @property
     def 		a__						(	self:						int	)->    float:
           return 1e-4








"""simple docstring"""


import os




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

            lowerCamelCase					:					Union[str, Any]        =	0

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

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

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

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


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




