$geister = 999 ** 6; printf "%.4g", $geister; my @sieb=(0..$geister);    # sieb des erestothenes for my $i (2..($#sieb/2)){   next unless $sieb[$i];   $sieb[$i*$_] = 0 for 2..int $#sieb/$i; } for my $prim (2..$geister) {     if ($sieb[$prim]) {        my $a;        until ($geister % $prim){ $a++; $geister %= $prim; }        print "$prim:$a " if $a;     } }