[step:Perturb along a support cycle while preserving every marginal]Assume first that $G(P)$ contains a cycle. Since $G(P)$ is bipartite, this cycle has even length. Choose distinct row indices $i_1,\dots,i_k \in \{1,\dots,m\}$ and distinct column indices $j_1,\dots,j_k \in \{1,\dots,n\}$, with $k \geq 2$, such that the cycle edges are
\begin{align*}
R_{i_1}C_{j_1},\ R_{i_2}C_{j_1},\ R_{i_2}C_{j_2},\ R_{i_3}C_{j_2},\dots,\ R_{i_k}C_{j_k},\ R_{i_1}C_{j_k}.
\end{align*}
Here and below the index $i_{k+1}$ denotes $i_1$.
Define a matrix
\begin{align*}
H=(h_{ij}) \in \mathbb{R}^{m \times n}
\end{align*}
by setting $h_{i_\ell j_\ell}=1$ and $h_{i_{\ell+1}j_\ell}=-1$ for every $\ell \in \{1,\dots,k\}$, and setting all other entries equal to $0$. Each row vertex on the cycle is incident to exactly one $+1$ entry and exactly one $-1$ entry of $H$, and each column vertex on the cycle is also incident to exactly one $+1$ entry and exactly one $-1$ entry of $H$. Therefore
\begin{align*}
\sum_{j=1}^n h_{ij}=0 \quad \text{for every } i \in \{1,\dots,m\}
\end{align*}
and
\begin{align*}
\sum_{i=1}^m h_{ij}=0 \quad \text{for every } j \in \{1,\dots,n\}.
\end{align*}
Since every edge of the chosen cycle belongs to the support of $P$, every corresponding entry of $P$ is positive. Define
\begin{align*}
\delta := \min\{p_{i_\ell j_\ell},p_{i_{\ell+1}j_\ell} : \ell \in \{1,\dots,k\}\}.
\end{align*}
Then $\delta>0$. Choose $\varepsilon \in \mathbb{R}$ with $0<\varepsilon<\delta$ and define
\begin{align*}
P_+ := P+\varepsilon H \quad \text{and} \quad P_- := P-\varepsilon H.
\end{align*}
At entries outside the cycle, $P_+$ and $P_-$ agree with $P$. At entries on the cycle, the entries of $P_+$ and $P_-$ are obtained from positive entries of $P$ by adding or subtracting $\varepsilon<\delta$, so all entries remain non-negative. The row and column sum identities for $H$ give, for every row index $i$,
\begin{align*}
\sum_{j=1}^n (p_{ij}\pm \varepsilon h_{ij}) = \sum_{j=1}^n p_{ij} \pm \varepsilon \sum_{j=1}^n h_{ij}=a_i,
\end{align*}
and, for every column index $j$,
\begin{align*}
\sum_{i=1}^m (p_{ij}\pm \varepsilon h_{ij}) = \sum_{i=1}^m p_{ij} \pm \varepsilon \sum_{i=1}^m h_{ij}=b_j.
\end{align*}
Thus $P_+,P_- \in \Pi(a,b)$.[/step]