Let $n \ge  3$ be a positive integer. Find all nonconstant real polynomials $f_1(x), f_2(x), ..., f_n(x)$ such that $f_k(x)f_{k+1}(x) = f_{k+1}(f_{k+2}(x))$, $1 \le k \le  n$ for all real x. [All suffixes are taken modulo $n$.]
1. Let \( f_k(x) \) be a polynomial of degree \( a_k \). Then, the degree of the product \( f_k(x) f_{k+1}(x) \) is \( a_k + a_{k+1} \).
2. The degree of the composition \( f_{k+1}(f_{k+2}(x)) \) is \( a_{k+1} \cdot a_{k+2} \).
3. Given the equation \( f_k(x) f_{k+1}(x) = f_{k+1}(f_{k+2}(x)) \), we equate the degrees:
   \[
   a_k + a_{k+1} = a_{k+1} \cdot a_{k+2}
   \]
4. This implies a sequence of divisibility conditions:
   \[
   a_2 \mid a_1, \quad a_3 \mid a_2, \quad \ldots, \quad a_n \mid a_{n-1}, \quad a_1 \mid a_n
   \]
5. Since \( a_1, a_2, \ldots, a_n \) must all be equal (otherwise, the divisibility conditions would not hold for all \( k \)), let \( a_1 = a_2 = \ldots = a_n = a \).
6. Substituting \( a_k = a \) into the degree equation:
   \[
   a + a = a \cdot a \implies 2a = a^2
   \]
7. Solving the quadratic equation \( a^2 - 2a = 0 \):
   \[
   a(a - 2) = 0
   \]
   Thus, \( a = 0 \) or \( a = 2 \).
8. Since the polynomials are non-constant, \( a \neq 0 \). Therefore, \( a = 2 \).

Conclusion:
- Each polynomial \( f_k(x) \) must be of degree 2.
- We need to find specific polynomials of degree 2 that satisfy the given functional equation.

9. Let \( f_k(x) = a_k x^2 + b_k x + c_k \). Then, the product \( f_k(x) f_{k+1}(x) \) and the composition \( f_{k+1}(f_{k+2}(x)) \) must be equal for all \( k \).
10. For simplicity, assume \( f_k(x) = x^2 \) for all \( k \). Then:
    \[
    f_k(x) f_{k+1}(x) = x^2 \cdot x^2 = x^4
    \]
    \[
    f_{k+1}(f_{k+2}(x)) = (f_{k+2}(x))^2 = (x^2)^2 = x^4
    \]
    This satisfies the given equation.

The final answer is \( \boxed{ f_k(x) = x^2 } \) for all \( k \).