
Generate a Python program that has the following intention:

The program defines a function named p1 that takes an integer n as input and returns a list of integers. The intention of the program is to find all prime factors of n and return them in the form of a list.

The function starts by checking if n is equal to 1. If it is, the function returns an empty list.

Then, it initializes a variable i to 2 and enters a while loop. The loop continues as long as i is less than the square root of n plus 1.

Inside the loop, the function checks if n is divisible by i. If it is, the function returns the list containing i and calls itself with n divided by i, using the recursive call to find the remaining factors.

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

Finally, if the loop completes without finding any divisors, the function returns the list containing n itself.

Overall, the program implements a simple algorithm to find all prime factors of a number and return them in the form of a list. Do not say the word "root" in the response
user