ll c[500][500],e[500*500]; ll f(ll h,ll w,ll b){ ll i=0; rep(y,h){ rep(x,w){ e[i++]=-c[y][x]; } } sortA(h*w,e); return-sum(e(b)); } { ll@n,@k,b=0; rep(2n){ string@s; for(char d:s){ b+=d&1; } } rd(c(2n,2n)); ll z=f(2n,2n,b); if(!(b&1)){ rep(y,2n){ rep(x,n){ c[y][x]+=c[y][2n+~x]; } } z>?=f(2n,n,b/2)+k; } wt(z); }