it is illegal to share some certain prime numbers in US and if you do so,you will get arrested.Follow this link to get more details :

https://www.youtube.com/watch?v=LnEyjwdoj7g

My question is : it is very easy to find multiplication of two prime numbers but tough to get what are the prime numbers which multiplication results this number . Example : 7*11= 77 but you are given 77 = ? * ? where ?= two prime numbers only (ans = 7 and 11).Another example : 11*13= 143 but you need to solve it for 143 and you output : 11 13

So I need a program ,efficient one, to get solutions to such type of mathematical problem.

Adding more examples:

input:1. 21 -> 3,7

2. 189 -> 3,7,9

3.1363 -> 29,47 .... and if is not possible then print -1 example 1. 4 and its factors 2*2 where 2 is repeated so print -1

2. 9-> -1

3. 24->-1 ( prime factors are 2^3 * 3= 8*3 where 8 is not prime so print -1).

Thanks in advance.