


"""simple docstring"""



import os







def 						__lowerCAmelCase		(		)			->		List[Any]:


    """simple docstring"""





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

        snake_case					:   Any         =					0

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

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

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

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


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









"""simple docstring"""



from ...configuration_utils import PretrainedConfig
from ...utils import logging


__snake_case         =					logging.get_logger(__name__)

__snake_case         =					{
    """microsoft/markuplm-base""": """https://huggingface.co/microsoft/markuplm-base/resolve/main/config.json""",
    """microsoft/markuplm-large""": """https://huggingface.co/microsoft/markuplm-large/resolve/main/config.json""",
}







class _lowerCAmelCase       (   snake_case_			):
   __UpperCAmelCase				: Tuple													=						'''markuplm'''







   def __init__(			self		,			UpperCamelCase__=3_0522		,			UpperCamelCase__=768		,			UpperCamelCase__=12		,			UpperCamelCase__=12		,			UpperCamelCase__=3072		,			UpperCamelCase__="gelu"		,			UpperCamelCase__=0.1		,			UpperCamelCase__=0.1		,			UpperCamelCase__=512		,			UpperCamelCase__=2		,			UpperCamelCase__=0.02		,			UpperCamelCase__=1e-12		,			UpperCamelCase__=0		,			UpperCamelCase__=0		,			UpperCamelCase__=2		,			UpperCamelCase__=256		,			UpperCamelCase__=1024		,			UpperCamelCase__=216		,			UpperCamelCase__=1001		,			UpperCamelCase__=32		,			UpperCamelCase__=50		,			UpperCamelCase__="absolute"		,			UpperCamelCase__=True		,			UpperCamelCase__=None		,			**UpperCamelCase__		,			)			->	Any:

       '''simple docstring'''




       super().__init__(
           pad_token_id=UpperCamelCase__		,			bos_token_id=UpperCamelCase__		,			eos_token_id=UpperCamelCase__		,			**UpperCamelCase__		,			)
       snake_case					:   List[str]         =					vocab_size
       snake_case					:   Optional[int]         =					hidden_size
       snake_case					:   List[str]         =					num_hidden_layers
       snake_case					:   Union[str, Any]         =					num_attention_heads
       snake_case					:   Dict         =					hidden_act
       snake_case					:   Tuple         =					intermediate_size
       snake_case					:   int         =					hidden_dropout_prob
       snake_case					:   Tuple         =					attention_probs_dropout_prob
       snake_case					:   Dict         =					max_position_embeddings
       snake_case					:   Optional[Any]         =					type_vocab_size
       snake_case					:   Any         =					initializer_range
       snake_case					:   Union[str, Any]         =					layer_norm_eps
       snake_case					:   List[str]         =					position_embedding_type
       snake_case					:   Optional[Any]         =					use_cache
       snake_case					:   str         =					classifier_dropout
       # additional properties
       snake_case					:   Optional[int]         =					max_depth
       snake_case					:   Optional[int]         =					max_xpath_tag_unit_embeddings
       snake_case					:   str         =					max_xpath_subs_unit_embeddings
       snake_case					:   int         =					tag_pad_id
       snake_case					:   Dict         =					subs_pad_id
       snake_case					:   List[str]         =					xpath_unit_hidden_size





