import
java.io.*;
import
java.util.*;
class
GFG {
static
boolean
isValidPos(
int
i,
int
j,
int
n,
int
m)
{
if
(i <
0
|| j <
0
|| i > n -
1
|| j > m -
1
) {
return
false
;
}
return
true
;
}
static
List<Integer>
getAdjacent(List<List<Integer> > arr,
int
i,
int
j)
{
int
n = arr.size();
int
m = arr.get(
0
).size();
List<Integer> v =
new
ArrayList<>();
if
(isValidPos(i -
1
, j -
1
, n, m)) {
v.add(arr.get(i -
1
).get(j -
1
));
}
if
(isValidPos(i -
1
, j, n, m)) {
v.add(arr.get(i -
1
).get(j));
}
if
(isValidPos(i -
1
, j +
1
, n, m)) {
v.add(arr.get(i -
1
).get(j +
1
));
}
if
(isValidPos(i, j -
1
, n, m)) {
v.add(arr.get(i).get(j -
1
));
}
if
(isValidPos(i, j +
1
, n, m)) {
v.add(arr.get(i).get(j +
1
));
}
if
(isValidPos(i +
1
, j -
1
, n, m)) {
v.add(arr.get(i +
1
).get(j -
1
));
}
if
(isValidPos(i +
1
, j, n, m)) {
v.add(arr.get(i +
1
).get(j));
}
if
(isValidPos(i +
1
, j +
1
, n, m)) {
v.add(arr.get(i +
1
).get(j +
1
));
}
return
v;
}
public
static
void
main(String[] args)
{
List<List<Integer> > arr =
new
ArrayList<>();
arr.add(
new
ArrayList<Integer>(Arrays.asList(
1
,
2
,
3
)));
arr.add(
new
ArrayList<Integer>(Arrays.asList(
4
,
5
,
6
)));
arr.add(
new
ArrayList<Integer>(Arrays.asList(
7
,
8
,
9
)));
int
x =
1
, y =
1
;
List<Integer> ans = getAdjacent(arr, x, y);
for
(
int
i =
0
; i < ans.size(); i++) {
System.out.print(ans.get(i) +
" "
);
}
}
}