Prove that at least one $\ell_i$ is constant. Let $f(x)\in \mathbb{Z}[x]$ be a polynomial of the form 
$$f(x)=x^n+a_{n-1}x^{n-1}+\cdots+a_1x+a_0,$$
and let $p$ a prime number such that $p|a_{i}$ for $i=0,1,2,\ldots,n-1$ but $p^3\nmid a_0$. Suppose that $f(x)=\ell_1(x)\ell_2(x)\ell_3(x)$ with $\ell_{i}\in \mathbb{Z}[x]$, then prove that at least one $\ell_i$ is constant.
Some hints? Thank you.

I have one solution, it's similiar to the prove of Eisentein's criterion:
Suppose that $f(x)=\ell_1(x)\ell_2(x)\ell_3(x)$ where $\ell_i(x)\in \mathbb{Z}[x]$ are noconstant polynomials. Then reducing module $p$, I have 
$$x^n=\overline{\ell_1(x)}.\overline{\ell_2(x)}.\overline{\ell_3(x)} \;\mbox{ in }\;\mathbb{Z}/(p)[x]=\mathbb{F}_p[x].$$
As $\mathbb{F}_p$ is an integral domain and of the last equation, the constant terms of  $\overline{\ell_i(x)}$ are $0$ module $p$, for each $i=1,2,3$. But then the constant term $a_0$ of $f(x)$ as product of the three constant terms of $\ell_i(x)$'s is divisible by $p^3$, a contradiction (since that $p^3\nmid a_0$). So at least one $\ell_i$ is constant. 
