797_A. k-Factorization
Given a positive integer n, find k integers (not necessary distinct) such that all these integers are strictly greater than 1, and their product is equal to n.

Input

The first line contains two integers n and k (2 ≤ n ≤ 100000, 1 ≤ k ≤ 20).

Output

If it's impossible to find the representation of n as a product of k numbers, print -1.

Otherwise, print k integers in any order. Their product must be equal to n. If there are multiple answers, print any of them.

Examples

Input

100000 2


Output

2 50000 


Input

100000 20


Output

-1


Input

1024 5


Output

2 64 2 2 2 
```python
#!/usr/bin/env python

from math import sqrt

dic = {}

def kfact(n, k):
    if (n, k) in dic:
        return dic[(n, k)]
    if k == 1:
        return [n]
    for i in range(2, int(sqrt(n)) + 1):
        if n % i == 0:
            if kfact(n // i, k - 1):
                result = [i] + kfact(n // i, k - 1)
                dic[(n, k)] = result
                return result
    return None

def wrapper(n, k):
    r = kfact(n, k)
    if r:
        print(' '.join(map(str, r)))
    else:
        print(-1)

if __name__ == "__main__":
    n, k = map(int, input().split())
    wrapper(n, k)

```