Exact count/parity improvement
------------------------------
For message j and gap d, let h[j,d] be the count of consecutive returns with
gap d<83. Choose a set S of at most26 ordinarily explained gap types. The
remaining b[j]=sum_{d not in S}h[j,d] intervals must each contain an exception
touching that card. An exception covers at most two such intervals, and cannot
serve two different messages. Therefore E >= sum_j ceil(b[j]/2).

The prior87 count used ceil(sum_j b[j]/2); retaining separate ceilings matters.
For a chosen S, let w(S)=sum_{d in S,j}h[j,d]. Encode the parity of its per-message
covered counts as a9-bit mask p(S), and encode the total counts as p_total.
Then the exact objective is:
  E_bound(S) = [455 - w(S) + popcount(p_total XOR p(S))]/2.
For each subset cardinality k and mask p, a standard 0/1 DP stores the largest
possible w(S). Larger w dominates every smaller weight at the same k and p.
The exact integer result over k=26 is88. Allowing exactly26 rather than at most26
does not hurt the model: adding an explained gap can only lower the objective.
The final512 mask maxima and a witness attaining88 are saved in
count_exact_certificate.json. The result is an exact necessary lower bound,
not evidence that a full fixed-pair deck cipher exists with88 exceptions.

Timing relaxations
------------------
For each counted interval(s,t), an unexplained gap requires assignment to at
least one exceptional event in its STRICT interior. Each event has capacity2.
These rules allow the two touched positions/cards to change between events;
fixed-pair reachability and actual deck state are deliberately relaxed.

An additional necessary condition is checked as a separate endpoint branch:
when the output at t uses an exception, every short return ending at t must
already have suffered an interior exception, even if its gap is in S. Otherwise
the card would still lie at the nonzero position R^(t-s)(0), so an off-top action
could not output it. This branch requires at least max(1-gap_selected,y[t])
interior assignments for that interval, not the sum of those two requirements.

Only selected-gap and event indicators need be integer. With them fixed, the
assignment problem is bipartite flow with integral capacities; an integer flow
exists whenever the continuous assignment does. Saved optimizer witnesses are
rechecked using a separate network-flow implementation and explicit event lists.
No plaintext-alignment equality is assumed in either branch.
