M := [N] -> { [i0] -> [o1] : exists (e0 = [(-1 + N - i0)/2]: 2e0 = -1 + N - i0 and 2o1 <= -1 + N and o1 >= 2) };
P := [N] -> {[47] : N = 16};
assert((card M)(P) == card (M(P)));
