import
java.util.*;
public
class
Main {
static
void
printLDS(ArrayList<Integer> Max)
{
for
(
int
it : Max) {
System.out.print(it +
" "
);
}
}
static
void
LongestDividingSeq(
int
[] arr,
int
N)
{
ArrayList<ArrayList<Integer> > LDS
=
new
ArrayList<ArrayList<Integer> >();
for
(
int
i =
0
; i <= N; i++) {
LDS.add(
new
ArrayList<Integer>());
}
LDS.get(
0
).add(arr[
0
]);
for
(
int
i =
1
; i < N; i++) {
for
(
int
j =
0
; j < i; j++) {
if
((arr[i] % arr[j] ==
0
)
&& (LDS.get(i).size()
< LDS.get(j).size() +
1
))
LDS.set(i,
new
ArrayList<Integer>(
LDS.get(j)));
}
LDS.get(i).add(arr[i]);
}
int
maxLength =
0
;
for
(
int
i =
0
; i < N; i++) {
int
x = LDS.get(i).size();
maxLength = Math.max(maxLength, x);
}
for
(
int
i =
0
; i < N; i++) {
int
size = LDS.get(i).size();
if
(size == maxLength) {
printLDS(LDS.get(i));
System.out.println();
}
}
}
public
static
void
main(String[] args)
{
int
[] arr = {
2
,
11
,
16
,
12
,
36
,
60
,
71
};
int
N = arr.length;
LongestDividingSeq(arr, N);
}
}