How to move a linear block before an Integrator block?

I have the following discrete time blocks which acts as a decimation filter. My objective is to linearize the piecewise linear outputs using $$O$$ and $$G$$; the purpose of these two variables is linearization.

Following are the parameters:

• $$M=200$$
• $$f_s=1\,\text{MHz}$$
• $$N\in\{30,\ldots ,300\}$$

If we take a timeslot 200 clock cycles ($$\frac {M}{f_s}$$), if $$N=200$$, then the value of $$O$$ and $$G$$ is constant throughout 200 cycles, then the linearization ($$O$$ and $$G$$) is valid.

However, if $$N=100$$, we get a value of $$O$$ and $$G$$ in first 100 cycles and another value of $$O$$ and $$G$$ in next 100 cycles. Now I fear that the output $$y$$ becomes non-linear, if the correction is performed since that correction is not seen by the integrators before it. (Fundamental reason being the integrator's current output is the addition of past output and current input). I am feeling that this past output might not be seen by the integrator.

I thought of moving this correction block ($$O$$ and $$G$$) before Integrators. Is it movable? If so how? (or) Am I trying something impossible?