from sys import stdin from decimal import * def main(): getcontext().rounding = ROUND_HALF_UP # 0.5 rundes til 1 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 ko = [] startnode = int(startnoden) ko.append(startnode) nodeIkkeBesokt[startnode] = False while(len(ko) > 0): node = ko.pop() noder -= 1 for i in xrange(0,n): if nabomatrise[i][node]: kanter -=1 if nabomatrise[node][i]: if nodeIkkeBesokt[i]: ko.append(i) nodeIkkeBesokt[i] = False if noder == 0: print "0.000" else: print (Decimal(kanter) / Decimal(noder**2)).quantize(Decimal('0.001')) main()