import itertools
def l(a,i,r):
s=[b for b in r if a[i][b]]
k=len(s)
return 2.0*sum(map(lambda x:a[x[0]][x[1]],itertools.combinations(s,2)))/k/(k-1)
def g(a):
n=len(a)
r=range(n)
return sum([l(a,i,r) for i in r])/n
print g([[0,1,1],
[1,0,0],
[1,0,0]])
aW1wb3J0IGl0ZXJ0b29scwpkZWYgbChhLGkscik6CiAgICBzPVtiIGZvciBiIGluIHIgaWYgYVtpXVtiXV0KICAgIGs9bGVuKHMpCiAgICByZXR1cm4gMi4wKnN1bShtYXAobGFtYmRhIHg6YVt4WzBdXVt4WzFdXSxpdGVydG9vbHMuY29tYmluYXRpb25zKHMsMikpKS9rLyhrLTEpCmRlZiBnKGEpOgogICAgbj1sZW4oYSkKICAgIHI9cmFuZ2UobikKICAgIHJldHVybiBzdW0oW2woYSxpLHIpIGZvciBpIGluIHJdKS9uCgpwcmludCBnKFtbMCwxLDFdLAogICAgICAgICBbMSwwLDBdLAogICAgICAgICBbMSwwLDBdXSk=