from sys import stdin from decimal import * def besokNode(nabomatrise, node, nodeIkkeBesokt, kanter, noder, n): nodeIkkeBesokt[node] = False noder -= 1 for i in xrange(0,n): if nabomatrise[i][node]: kanter -=1 if nabomatrise[node][i]: if nodeIkkeBesokt[i]: kanter, noder = besokNode(nabomatrise, i, nodeIkkeBesokt, kanter, noder, n) return (kanter, noder) def main(): n = int(stdin.readline()) nabomatrise = [None] * n # rader tK = 0 for i in xrange(0, n): nabomatrise[i] = [False] * n # kolonner linje = stdin.readline() for j in xrange(0, n): if linje[j] == '1': tK +=1 nabomatrise[i][j] = True for startnoden in stdin: noder = n kanter = tK nodeIkkeBesokt = [] nodeIkkeBesokt = [True] * n startnode = int(startnoden) kanter, noder = besokNode(nabomatrise, startnode, nodeIkkeBesokt, kanter, noder, n) if noder == 0: print "0.000" else: print "%.3f" % ((float(kanter) / float(noder**2)) + 1E-12) main()