




a_ 		=  [
    [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0],
    [0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
    [0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0],
    [0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0],
]




def        __SCREAMING_SNAKE_CASE (	lowercase_       ,  lowercase_       ,  lowercase_       ,  lowercase_   )							->						bool:

    """simple docstring"""


    return 0 <= row < rows and 0 <= col < cols




def        __SCREAMING_SNAKE_CASE (	lowercase_       ,  lowercase_       ,  lowercase_       ,  lowercase_   )							->						int:

    """simple docstring"""


    __UpperCamelCase			=    len(lowercase_   )
    __UpperCamelCase			=    len(mat[0]   )
    if is_safe(lowercase_       ,  lowercase_       ,  lowercase_       ,  lowercase_   ) and (row, col) not in seen and mat[row][col] == 1:
        seen.add((row, col)   )
        return (
            1
            + depth_first_search(row + 1       ,  lowercase_       ,  lowercase_       ,  lowercase_   )
            + depth_first_search(row - 1       ,  lowercase_       ,  lowercase_       ,  lowercase_   )
            + depth_first_search(lowercase_       ,  col + 1       ,  lowercase_       ,  lowercase_   )
            + depth_first_search(lowercase_       ,  col - 1       ,  lowercase_       ,  lowercase_   )
        )
    else:
        return 0




def        __SCREAMING_SNAKE_CASE (	lowercase_   )							->						int:

    """simple docstring"""


    __UpperCamelCase			=    set()

    __UpperCamelCase			=    0
    for row, line in enumerate(lowercase_   ):
        for col, item in enumerate(lowercase_   ):
            if item == 1 and (row, col) not in seen:
                # Maximizing the area
                __UpperCamelCase			=    max(lowercase_       ,  depth_first_search(lowercase_       ,  lowercase_       ,  lowercase_       ,  lowercase_   )   )
    return max_area


if __name__ == "__main__":
 import doctest

 print(find_max_area(matrix))  # Output -> 6
 doctest.testmod()







import unittest
from pathlib import Path

from transformers import is_vision_available, load_tool
from transformers.testing_utils import get_tests_dir

from .test_tools_common import ToolTesterMixin


if is_vision_available():
      from PIL import Image



class     snake_case_			(						unittest.TestCase    ,__A			):






   def  __UpperCamelCase	( self							:	int    )   ->		Union[str, Any]:
       lowercase__					:  Any          =							load_tool("image-segmentation"    )
       self.tool.setup()
       lowercase__					:  Optional[int]          =							load_tool("image-segmentation"      ,		remote=lowercase_    )






   def  __UpperCamelCase	( self							:	Any    )   ->		Tuple:
       lowercase__					:  Any          =							Image.open(Path(get_tests_dir("fixtures/tests_samples/COCO"    )    ) / "000000039769.png"    )
       lowercase__					:  Tuple          =							self.tool(lowercase_      ,		"cat"    )
       self.assertTrue(isinstance(lowercase_      ,		Image.Image    )    )






   def  __UpperCamelCase	( self							:	Optional[int]    )   ->		Dict:
       lowercase__					:  List[Any]          =							Image.open(Path(get_tests_dir("fixtures/tests_samples/COCO"    )    ) / "000000039769.png"    )
       lowercase__					:  Optional[int]          =							self.remote_tool(lowercase_      ,		"cat"    )
       self.assertTrue(isinstance(lowercase_      ,		Image.Image    )    )






   def  __UpperCamelCase	( self							:	List[Any]    )   ->		Dict:
       lowercase__					:  Optional[Any]          =							Image.open(Path(get_tests_dir("fixtures/tests_samples/COCO"    )    ) / "000000039769.png"    )
       lowercase__					:  int          =							self.tool(image=lowercase_      ,		label="cat"    )
       self.assertTrue(isinstance(lowercase_      ,		Image.Image    )    )







   def  __UpperCamelCase	( self							:	Dict    )   ->		List[Any]:
       lowercase__					:  Tuple          =							Image.open(Path(get_tests_dir("fixtures/tests_samples/COCO"    )    ) / "000000039769.png"    )
       lowercase__					:  Union[str, Any]          =							self.remote_tool(image=lowercase_      ,		label="cat"    )
       self.assertTrue(isinstance(lowercase_      ,		Image.Image    )    )



