In this reddit post it is given that $$\text{FAC}=λn.λf.n(λf.λn.n(f(λf.λx.n f(f x))))(λx.f)(λx.x)$$ However when I applied it to $1$ I get: $$\begin{align}\text{FAC}\ 1 &=(λn.λf.n(λf.λn.n(f(λf.λx.n f(f x))))(λx.f)(λx.x))1\\ &=λf.\color{red}1(λf.λn.n(f(λf.λx.n f(f x))))(λx.f)(λx.x)\tag{$\beta$}\\ &=λf.\color{red}{(λf.λx.fx)}\color{green}{(λf.λn.n(f(λf.λx.n f(f x))))}(λx.f)(λx.x)\\ &=λf.(λx.\color{green}{(λf.λn.n(f(λf.λx.n f(f x))))}x)(λx.f)(λx.x)\tag{$\beta$}\\ &=λf.(λx.(λp.λn.n(p(λp.λx.n p(p x))))x)\color{blue}{(λx.f)}(λx.x)\tag{$\alpha$}\\ &=λf.(λp.λn.n(p(λp.λx.n p(p x))))\color{blue}{(λx.f)}(λx.x)\tag{$\beta$}\\ &=λf.(λn.n(\color{blue}{(λx.f)}(λp.λx.n p(p x))))\color{purple}{(λx.x)}\tag{$\beta$}\\ &=λf.(\color{purple}{(λx.x)}\color{orange}{((λx.f)(λp.λx.(λx.x) p(p x))))}\tag{$\beta$}\\ &=λf.\color{orange}{((λx.f)(λp.λx.(λx.x) p(p x)))}\tag{$\beta$}\\ &=λf.f\tag{$\beta$}\end{align}$$ Which is the identity function, the same happens to $0$: $$\begin{align}\text{FAC}\ 0 &=(λn.λf.n(λf.λn.n(f(λf.λx.n f(f x))))(λx.f)(λx.x))0\\ &=λf.\color{red}0(λf.λn.n(f(λf.λx.n f(f x))))(λx.f)(λx.x)\tag{$\beta$}\\ &=λf.\color{red}{(λf.λx.x)}\color{green}{(λf.λn.n(f(λf.λx.n f(f x))))}(λx.f)(λx.x)\\ &=λf.(λx.x)\color{blue}{(λx.f)(λx.x)}\tag{$\beta$}\\ &=λf.(λx.f)\color{purple}{(λx.x)}\tag{$\beta$}\\ &=λf.f\tag{$\beta$}\end{align}$$ However when I apply it to $2$ or higher there's no problem.
Is the formula for $\text{FAC}$ given above wrong?