my $n=1000000;
# sieve and compute number of distinct factors
my @p; # $p[$k] will be smallest prime factor of $k
my @c; # number of distinct prime factors
for ($i=2;$i<$n;$i++) {
if (!$p[$i]) {
$p[$i] = $i;
for ($j=$i;$j<$n/$i;$j++) {
$p[$i*$j] = $i if (!$p[$i*$j]);
}
}
my $f = 0;
for ($j=$i;$j>1;$j=$j/$f) {
if ($f != $p[$j]) {
$c[$i]++;
$f = $p[$j];
}
}
if (($c[$i]==4)&&($c[$i-1]==4)&&($c[$i-2]==4)&&($c[$i-3]==4)) {
my $k;
for ($k=$i-3;$k<=$i;$k++) {
print "$k:";
for ($j=$k;$j>1;$j=$j/$p[$j]) {
print " $p[$j]";
}
print "\n";
}
}
}