That's pretty great work. I had no idea how to tackle this, before 1 saw your solution.
a) Now I am wondering if you have found a minimum. I don't see any reason that yours needs to be a minimum, and I don't think it is. For instance, if n = 5 (instead of 500), then your excellent approach gives p = 2^3 * 3^2 = 72. But p = 18 or 48 or 66 works also, and they are all less than 72. 66 is especially interesting because it has a prime factor that is greater than 5. Of course, we weren't ask for the minimum.
b) And as long as we are not looking for a minimum, (500!)^2 works easily, and it is easier to prove that it works.
But you get full credit for your solution.