E=enumerate
def V(m,x,y):
if x>-1<y:
try:return m[x][y]
except:return 0
def f(m):
s=[];f=e=0
while O:=[(x,y)for x,b in E(m)for y,_ in E(b)if m[x][y]and(x,y)not in s]:
q=[O[0]]
while q:
x,y=q.pop(0)
if(x,y)not in s:
s+=(x,y),
for p in[(x,y+1),(x,y-1),(x+1,y),(x-1,y)]:z=p in s;e-=~-z;q+=(V(m,*p)!=0and~-z)*[p]
for u,v in[(1,1),(1,-1),(-1,1),(-1,-1)]:p=(x-u,y-v);z=p in s;f+=~-z&~-((x-u,y)in s)*~-((x,y-v)in s);q+=(V(m,*p)!=0and~-z)*[p]
return f-e+sum(map(sum,m))
import ast
s="""[[1]] -> 1
[[1,0,1]] -> 2
[[1,0],[0,1]] -> 1
[[0,1,0],[0,0,1],[1,1,1]] -> 1
[[0,1,1,0],[1,0,1,1],[1,1,0,1],[0,1,1,0]] -> -1
[[0,0,1,1,0],[0,1,1,1,1],[1,1,0,1,1],[0,1,1,0,0]] -> 0
[[1,1,1,0,1,1,1],[1,0,1,0,1,0,1],[1,1,1,0,1,1,1]] -> 0
[[1,1,1,1,1],[1,0,0,0,1],[1,0,1,0,1],[1,0,0,0,1],[1,1,1,1,1]] -> 1"""
for i in filter(None,s.split('\n')):a,b=map(ast.literal_eval,i.split(' -> '));assert f(a)==b
RT1lbnVtZXJhdGUKZGVmIFYobSx4LHkpOgogaWYgeD4tMTx5OgogIHRyeTpyZXR1cm4gbVt4XVt5XQogIGV4Y2VwdDpyZXR1cm4gMApkZWYgZihtKToKIHM9W107Zj1lPTAKIHdoaWxlIE86PVsoeCx5KWZvciB4LGIgaW4gRShtKWZvciB5LF8gaW4gRShiKWlmIG1beF1beV1hbmQoeCx5KW5vdCBpbiBzXToKICBxPVtPWzBdXQogIHdoaWxlIHE6CiAgIHgseT1xLnBvcCgwKQogICBpZih4LHkpbm90IGluIHM6CiAgICBzKz0oeCx5KSwKICAgIGZvciBwIGluWyh4LHkrMSksKHgseS0xKSwoeCsxLHkpLCh4LTEseSldOno9cCBpbiBzO2UtPX4tejtxKz0oVihtLCpwKSE9MGFuZH4teikqW3BdCiAgICBmb3IgdSx2IGluWygxLDEpLCgxLC0xKSwoLTEsMSksKC0xLC0xKV06cD0oeC11LHktdik7ej1wIGluIHM7Zis9fi16Jn4tKCh4LXUseSlpbiBzKSp+LSgoeCx5LXYpaW4gcyk7cSs9KFYobSwqcCkhPTBhbmR+LXopKltwXQogcmV0dXJuIGYtZStzdW0obWFwKHN1bSxtKSkKCmltcG9ydCBhc3QKcz0iIiJbWzFdXSAtPiAxCltbMSwwLDFdXSAtPiAyCltbMSwwXSxbMCwxXV0gLT4gMQpbWzAsMSwwXSxbMCwwLDFdLFsxLDEsMV1dIC0+IDEKW1swLDEsMSwwXSxbMSwwLDEsMV0sWzEsMSwwLDFdLFswLDEsMSwwXV0gLT4gLTEKW1swLDAsMSwxLDBdLFswLDEsMSwxLDFdLFsxLDEsMCwxLDFdLFswLDEsMSwwLDBdXSAtPiAwCltbMSwxLDEsMCwxLDEsMV0sWzEsMCwxLDAsMSwwLDFdLFsxLDEsMSwwLDEsMSwxXV0gLT4gMApbWzEsMSwxLDEsMV0sWzEsMCwwLDAsMV0sWzEsMCwxLDAsMV0sWzEsMCwwLDAsMV0sWzEsMSwxLDEsMV1dIC0+IDEiIiIKZm9yIGkgaW4gZmlsdGVyKE5vbmUscy5zcGxpdCgnXG4nKSk6YSxiPW1hcChhc3QubGl0ZXJhbF9ldmFsLGkuc3BsaXQoJyAtPiAnKSk7YXNzZXJ0IGYoYSk9PWI=