Generate a Python program that has the following intention:

The intention of the program is to find all prime factors of a given positive integer n and return them in a list.

The program defines a function p1(n) that takes an integer n as input and returns a list of integers. The function starts by checking if n is equal to 1. If it is, the function returns an empty list.

If n is not equal to 1, the function initializes a variable i to 2 and enters a loop that continues as long as i is less than n raised to the power of 0.5 plus 1.

In each iteration of the loop, the function checks if n is divisible by i. If it is, the function returns the list [i] plus the result of calling the function p1 on the quotient of n and i.

If n is not divisible by i, the function increments i by 1 and continues the loop.

If the loop completes without finding any divisors, the function returns the list [n].

Overall, the program implements a depth-first search algorithm to find all prime factors of n and returns them in a list. Provide two versions of response separated with exactly 6 asterisk symbols: ******.
user