import numpy as np

f=open('PopIII_haloes_0221_type5.txt','r')
f1=open('PopIII_haloes_0221_type1.txt','r')

fo = open('PopIII_haloes.txt','w')
line = f.readline()
line1 = f1.readline()
while line !='':
   mass = line.split()[1]
   line = f.readline()
   line1 = f1.readline()
   pn = line.split()[0] 
   pn1 = line1.split()[0]
   m0 = []; m1 = []; m2 = [];m3 = []
   for i in xrange(int(pn)):
     line=f.readline()
     starmass = float(line.split()[1])
     if starmass > 1e20: starmass=starmass/1e20
     if starmass > 260:
        m0.append(starmass)
     elif starmass > 140:
        m1.append(starmass)
     elif starmass > 40:
        m2.append(starmass)
     else: m3.append(starmass)
   for i in xrange(int(pn1)):
     line1=f1.readline()
     starmass = float(line1.split()[1])
     if starmass > 260:
       m0.append(starmass)
     elif np.logical_and(starmass>40,starmass<140) :
       m2.append(starmass)
     else:
       m3.append(starmass)
   if len(m0) == 0: 
      pm = 0; pms =0
   else:
      pm=np.array(m0).mean()
      pms=np.array(m0).std()
   if len(m3) == 0:
      pm3 = 0; pms3 = 0
   else:
      pm3=np.array(m3).mean()
      pms3=np.array(m3).std()
   if len(m1)==0:
      pm1=0;pms1=0
   else: 
      pm1=np.array(m1).mean()
      pms1=np.array(m1).std()
   if len(m2)==0:
      pm2 = 0; pms2 = 0;
   else:
      pm2=np.array(m2).mean()
      pms2=np.array(m2).std()
   fo.write(str(mass)+" "+str(len(m0))+" "+str(pm)+" "+str(pms)+" "+str(len(m1))+" "+str(pm1) \
     +" "+str(pms1)+"  "+str(len(m2))+"  "+str(pm2)+ \
     " "+str(pms2)+" "+str(len(m2))+" "+str(pm2)+" "+str(pms2)+"\n")
   f.readline();f.readline();f1.readline();f1.readline()
   line = f.readline()
   line1 = f1.readline()

f.close()
f1.close()
fo.close()

