import numpy as np

f=open('PopIII_haloes_0002_type5.txt','r')
f1=open('PopIII_haloes_0002_type1.txt','r')

fo = open('haloes_distance_3e7_stars.txt','w')
line = f.readline(); line1 = f1.readline()
mass = []
radius = []
cx = []
cy = []
cz = []
i=0
k=0
while line !='':
   mass.append(float(line.split()[1]))
   radius.append(float(line.split()[2]))
   cx.append(float(line.split()[3]))
   cy.append(float(line.split()[4]))
   cz.append(float(line.split()[5].replace(":","")))
   line = f.readline(); line1 = f1.readline()
   pn = line.split()[0] ; pn1 = line1.split()[0]
   for j in xrange(int(pn)):
     line=f.readline()
   for j in xrange(int(pn1)):
     line1=f1.readline()
   if mass[i] < 1.0e6: break
   if mass[i] > 3.0e7: k=k+1
   if np.logical_and(mass[i] < 1.0e7,np.logical_or(int(pn)!=0,int(pn1)!=0)):
    distance = 1.0
    jj = 0  
    for j in xrange(k):
     distance1 = ((cx[i]-cx[j])**2+(cy[i]-cy[j])**2+(cz[i]-cz[j])**2)**0.5
     if distance1<distance:
         distance = distance1
         jj = j 
    fo.write(str(i)+" "+str(mass[i])+" "+str(radius[i])+" "+str(jj)+" "+str(mass[jj])+" "+str(radius[jj])+" "+str(distance)+" "+str(distance*4.0e4/16)+"\n")
   f.readline();f.readline(); f1.readline(); f1.readline()
   line = f.readline(); line1 = f1.readline()
   i=i+1

f.close()
fo.close()

