



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 						_UpperCAmelCase							( snake_case      ,		snake_case      ,		snake_case      ,		snake_case     ):





					"""simple docstring"""

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


def 						_UpperCAmelCase							( snake_case      ,		snake_case      ,		snake_case      ,		snake_case     ):





					"""simple docstring"""

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


def 						_UpperCAmelCase							( snake_case     ):





					"""simple docstring"""

					_lowerCAmelCase         =       set()

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


if __name__ == "__main__":
	import doctest

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





'''simple docstring'''





def   A			(							A_				:       int							):
						return n * (2 * n - 1)

def   A			(							A_				:       int							):
						snake_case							:  Optional[Any]			=     (1 + 24 * n) ** 0.5
						return ((1 + root) / 6) % 1 == 0

def   A			(							A_				:       int = 144							):
						snake_case							:  Any			=     start
						snake_case							:  Any			=     hexagonal_num(A_							)
						while not is_pentagonal(A_							):
												n += 1
												snake_case							:  Optional[Any]			=     hexagonal_num(A_							)
						return num


if __name__ == "__main__":
						print(f'''{solution()} = ''')

