A   k-Almost-prime   is a natural number   



n


{\displaystyle n}

   that is the product of   



k


{\displaystyle k}

   (possibly identical) primes.



Example

1-almost-primes,   where   



k
=
1


{\displaystyle k=1}

,   are the prime numbers themselves.

2-almost-primes,   where   



k
=
2


{\displaystyle k=2}

,   are the   semiprimes.



Task

Write a function/method/subroutine/... that generates k-almost primes and use it to create a table here of the first ten members of k-Almost primes for   



1
<=
K
<=
5


{\displaystyle 1<=K<=5}

.



Related tasks

   Semiprime
   Category:Prime Numbers


func Factors(N);        \Return number of (prime) factors in N
int  N, F, C;
[C:= 0;  F:= 2;
repeat  if rem(N/F) = 0 then
                [C:= C+1;
                N:= N/F;
                ]
        else    F:= F+1;
until   F > N;
return C;
];
 
int K, C, N;
[for K:= 1 to 5 do
    [C:= 0;
    N:= 2;
    IntOut(0, K);  Text(0, ": ");
    loop [if Factors(N) = K then
            [IntOut(0, N);  ChOut(0, ^ );
            C:= C+1;
            if C >= 10 then quit;
            ];
            N:= N+1;
         ];
         CrLf(0);
    ];
]