Can every orthogonal matrix be written as a product of Givens rotations? I'd like to know whether every orthogonal matrix

$$ A \in \mathcal{O}_n(\mathbb{R})$$

can be written as a product of givens-rotations. I know that when we do QR-decomposition of matrix $A$ we get

$$ A = Q R $$

So my idea was to prove that $R$ must be the identity $I_n$, however I'm stuck at that. Can somebody give me a hint on how I could prove this?
Givens rotations are... rotations, they preserve orientation ($det(M)=+1$), however $\mathcal{O}_n(\mathbb{R})$ has two components, one component is rotations ($det(M)=+1$), the other is reflections ($det(M)=-1$). 

Example of $M\in\mathcal{O}_2(\mathbb{R})$ that can not be written as a Givens rotation (its determinant is $-1$)
$$
M=\left(\begin{array}{cc}
-1 &amp; 0 \\
0 &amp; 1
\end{array}\right)
$$
You can not find Givens rotation $G_\theta=\left(\begin{array}{cc}
\cos\theta &amp; -\sin\theta \\
\sin\theta &amp; \cos\theta
\end{array}\right)$ such that $M=G_\theta$

If you want to have a Givens rotation decomposition you must restrict yourself to $SO_n(\mathbb{R})$, the special orthogonal group, which is defined by $M^tM=I_d$ and $\det{M}=+1$.
If you write the matrix $A=QR$ then there are two ways you can perform this.

$$ A \underbrace{R_{1} R_{2} \cdots R_{n}}_{\hat{R}^{-1}} = \hat{Q} \tag{1} $$

or the following, which is what you want

$$ \underbrace{Q_{n} Q_{n-1} \cdots Q_{2}Q_{1}}_{{Q}^{*}}A = R \tag{2} $$

In $1$ we see that Gram-Schmidt applies a sequence of elementary triangular matrices $R_{k}$ on the right of $A$. For $2$ we see a sequence of elementary unitary matrices $Q_{k}$ on the left of $A$. The matrices $Q_{k}$ can be givens matrices.

$$ \underbrace{G_{n} G_{n-1} \cdots G_{2}G_{1}}_{{G}^{*}}A = R \tag{3} $$

All you need to prove is that $G_{k}$ is a unitary matrix. It is. There are notes provided here.