import
java.util.*;
public
class
Main {
public
static
void
primeFactors(
int
n, Map<Integer, Integer> mp,
int
val)
{
while
(n %
2
==
0
) {
mp.put(
2
, mp.getOrDefault(
2
,
0
) + val);
n = n /
2
;
}
for
(
int
i =
3
; i * i <= n; i = i +
2
) {
while
(n % i ==
0
) {
mp.put(i, mp.getOrDefault(i,
0
) + val);
n = n / i;
}
}
if
(n >
2
)
mp.put(n, mp.getOrDefault(n,
0
) + val);
}
public
static
void
checkDivisibility(
int
arrA[],
int
arrB[],
int
N1,
int
N2)
{
Map<Integer, Integer> mp =
new
HashMap<>();
for
(
int
i =
0
; i < N1; i++) {
primeFactors(arrA[i], mp, +
1
);
}
for
(
int
i =
0
; i < N2; i++) {
primeFactors(arrB[i], mp, -
1
);
}
for
(Map.Entry<Integer, Integer> e : mp.entrySet()) {
if
(e.getValue() <
0
) {
System.out.println(
"0"
);
return
;
}
}
System.out.println(
"1"
);
}
public
static
void
main(String[] args)
{
int
N1 =
4
;
int
N2 =
5
;
int
arrA[] = {
20
,
40
,
5
,
8
};
int
arrB[] = {
2
,
16
,
10
,
50
,
1
};
checkDivisibility(arrA, arrB, N1, N2);
int
arrC[] = {
20
,
40
,
5
,
8
};
int
arrD[] = {
2
,
16
,
10
,
80
,
3
};
checkDivisibility(arrC, arrD, N1, N2);
}
}