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


almostPrime: function [k, listLen][
    result: new []
    test: 2
    c: 0
 
    while [c < listLen][
        i: 2
        m: 0
        n: test
 
        while [i =< n][
            if? zero? n % i [
                n: n / i
                m: m + 1
            ]
            else -> i: i + 1
        ]
        if m = k [
            'result ++ test
            c: c + 1
        ]
        test: test + 1
    ]
    return result
]
 
loop 1..5 'x ->
    print ["k:" x "=>" almostPrime x 10]