def
check(l,row,col ,n,l2):
for
i
in
range
(row
-
n
+
1
):
for
j
in
range
(col
-
n
+
1
):
num
=
l[i][j]
if
(row
-
i >
=
n
and
col
-
j >
=
n):
count
=
0
for
k
in
range
(n):
if
(num !
=
l[i
+
k][j
+
k]):
break
else
:
count
+
=
1
if
(count
=
=
n):
l2.append(num)
else
:
break
for
i
in
range
(row):
for
j
in
range
(col
-
(n
-
1
) ):
num
=
l[i][j]
count
=
0
for
k
in
range
(n):
if
num !
=
l[i][j
+
k]:
break
else
:
count
+
=
1
if
(count
=
=
n):
l2.append(num)
for
i
in
range
(row
-
(n
-
1
)):
for
j
in
range
(col):
num
=
l[i][j]
count
=
0
for
k
in
range
(n):
if
num !
=
l[i
+
k][j]:
break
else
:
count
+
=
1
if
(count
=
=
n):
l2.append(num)
for
i
in
range
(
0
,
int
(row
/
2
)):
for
j
in
range
(i, col
-
i
-
1
):
num
=
l[i][j]
l[i][j]
=
l[j][col
-
1
-
i]
l[j][col
-
1
-
i]
=
l[row
-
1
-
i][col
-
1
-
j]
l[row
-
1
-
i][col
-
1
-
j]
=
l[row
-
1
-
j][i]
l[row
-
1
-
j][i]
=
num
for
i
in
range
(row
-
n
+
1
):
for
j
in
range
(col
-
n
+
1
):
num
=
l[i][j]
if
(row
-
i >
=
n
and
col
-
j >
=
n):
count
=
0
for
k
in
range
(n):
if
(num !
=
l[i
+
k][j
+
k]):
break
else
:
count
+
=
1
if
(count
=
=
n):
l2.append(num)
else
:
break
if
(
len
(l2)
=
=
0
):
print
(
-
1
)
else
:
print
(
min
(l2))
if
__name__
=
=
"__main__":
l
=
[[
2
,
1
,
3
,
4
,
5
],
[
0
,
2
,
1
,
3
,
4
],
[
5
,
0
,
2
,
1
,
4
],
[
5
,
4
,
0
,
2
,
1
],
[
5
,
4
,
4
,
0
,
2
]]
l2
=
[]
check(l,
4
,
4
,
2
,l2)