<?php
$MAXN
= 10001;
$spf
=
array_fill
(0,
$MAXN
, 0);
$hash1
=
array_fill
(0,
$MAXN
, 0);
function
sieve()
{
global
$spf
,
$MAXN
,
$hash1
;
$spf
[1] = 1;
for
(
$i
= 2;
$i
<
$MAXN
;
$i
++)
$spf
[
$i
] =
$i
;
for
(
$i
= 4;
$i
<
$MAXN
;
$i
+= 2)
$spf
[
$i
] = 2;
for
(
$i
= 3;
$i
*
$i
<
$MAXN
;
$i
++)
{
if
(
$spf
[
$i
] ==
$i
)
{
for
(
$j
=
$i
*
$i
;
$j
<
$MAXN
;
$j
+=
$i
)
if
(
$spf
[
$j
] ==
$j
)
$spf
[
$j
] =
$i
;
}
}
}
function
getFactorization(
$x
)
{
global
$spf
,
$MAXN
,
$hash1
;
while
(
$x
!= 1)
{
$temp
=
$spf
[
$x
];
if
(
$x
%
$temp
== 0)
{
$hash1
[
$spf
[
$x
]]++;
$x
= (int)(
$x
/
$spf
[
$x
]);
}
while
(
$x
%
$temp
== 0)
$x
= (int)(
$x
/
$temp
);
}
}
function
check(
$x
)
{
global
$spf
,
$MAXN
,
$hash1
;
while
(
$x
!= 1)
{
$temp
=
$spf
[
$x
];
if
(
$x
%
$temp
== 0 &&
$hash1
[
$temp
] > 1)
return
false;
while
(
$x
%
$temp
== 0)
$x
= (int)(
$x
/
$temp
);
}
return
true;
}
function
hasValidNum(
$arr
,
$n
)
{
global
$spf
,
$MAXN
,
$hash1
;
sieve();
for
(
$i
= 0;
$i
<
$n
;
$i
++)
getFactorization(
$arr
[
$i
]);
for
(
$i
= 0;
$i
<
$n
;
$i
++)
if
(check(
$arr
[
$i
]))
return
true;
return
false;
}
$arr
=
array
( 2, 8, 4, 10, 6, 7 );
$n
=
count
(
$arr
);
if
(hasValidNum(
$arr
,
$n
))
echo
"Yes"
;
else
echo
"No"
;
?>