#python completely_random_time_origion.py.txt 100 20 10# 100 times permutation, 20pair data, 10 times
import sys
import scipy.stats as st
import numpy as np
import random
str1=int(sys.argv[1])
str2=int(sys.argv[2])
str3=int(sys.argv[3])+1
for iii in range (0,str1):
 pall=[]
 xbarall=[]
 xmall=[]
 palls=[]
 xbaralls=[]
 xmalls=[]
 result=[]
###
 freall=[]
 frealls=[]
 combineall=[]
 combinealls=[]

 for ii in range (0,str2):
  p=0
###
  combine = []
  fres=[]
  combines = []
  xbar=xm=0
  createVar = locals()
  for x in range(1,str3):
   createVar["p4"+str(x)]=1
   createVar["p5"+str(x)]=1
   createVar["p6"+str(x)]=1
   createVar["four"+str(x)]=[]
   createVar["five"+str(x)]=[]
   createVar["six"+str(x)]=[] 
   for num in range(1,5):
    f=random.random()
    createVar["p4"+str(x)]=createVar["p4"+str(x)]*f
    createVar["four"+str(x)].append (f)
####
    fres.append(str(f)) 
   p=p+createVar["p4"+str(x)]
   for num in range(1,6):
    f=random.random()
    createVar["p5"+str(x)]=createVar["p5"+str(x)]*f
    createVar["five"+str(x)].append (f)
####
    fres.append(str(f))
   p=p+createVar["p5"+str(x)]
   for num in range(1,7):
    f=random.random()
    createVar["p6"+str(x)]=createVar["p6"+str(x)]*f
    createVar["six"+str(x)].append (f)
####
    fres.append(str(f))
   p=p+createVar["p6"+str(x)]

   for i in range(0,4):
    for j in range(0,4):
     for k in range(0,4):
      if ((i!=j)and(i<j)and(j!=k)and(j<k)and(k!=i)):
       fc=createVar["four"+str(x)][i]*createVar["four"+str(x)][j]*createVar["four"+str(x)][k]
       combine.append (fc)
###
       combines.append(str(fc))
   for i in range(0,5):
    for j in range(0,5):
     for k in range(0,5):
      if ((i!=j)and(i<j)and(j!=k)and(j<k)and(k!=i)):
       fc=createVar["five"+str(x)][i]*createVar["five"+str(x)][j]*createVar["five"+str(x)][k]
       combine.append (fc)
###
       combines.append(str(fc))
   for i in range(0,6):
    for j in range(0,6):
     for k in range(0,6):
      if ((i!=j)and(i<j)and(j!=k)and(j<k)and(k!=i)):
       fc=createVar["six"+str(x)][i]*createVar["six"+str(x)][j]*createVar["six"+str(x)][k]
       combine.append (fc)
###
       combines.append(str(fc))
  pall.append(p)
  palls.append(str(p))
  xbar=np.mean(combine)
  xm=np.median(combine)
  xbarall.append(xbar)
  xmall.append(xm)
  xbaralls.append(str(xbar))
  xmalls.append(str(xm))
###
  aa = ','
  frelist=aa.join(fres)
  freall.append(str(frelist))
###
  aa = ','
  combinelist=aa.join(combines)
  combineall.append(str(combinelist))

 slope, intercept, r_value, p_value, slope_std_error = st.linregress(xbarall, pall)
 result.append(str(slope))
 result.append(str(intercept))
 result.append(str(r_value**2))
 result.append(str(slope_std_error))
 result.append(str(p_value))

 slope, intercept, r_value, p_value, slope_std_error = st.linregress(xmall, pall)
 result.append(str(slope))
 result.append(str(intercept))
 result.append(str(r_value**2))
 result.append(str(slope_std_error))
 result.append(str(p_value))
 a = ','
 resultlist=a.join(result)
 resultn=resultlist + "\n"
 file = open("./result.txt", "a")
 file.write(resultn)
 file.close()

 if ((iii==0) or (iii==9) or (iii==99) or (iii==999)):
  f = open("./{0}.txt".format(iii), "w") 
  aa = ','
  xbaralllist=aa.join(xbaralls)
  xbaralln=xbaralllist + "\n"
  xmalllist=aa.join(xmalls)
  xmalln=xmalllist + "\n"
  palllist=aa.join(palls)
  palln=palllist + "\n"
  f.write(str(xbaralln))
  f.write(str(xmalln))
  f.write(str(palln))
  f.close()
###
  ff = open("./{0}.origion.txt".format(iii), "a") 
  aa = '\n'
  frealllist=aa.join(freall)
  frealllistn=frealllist + "\n"
  ff.write(str(frealllistn))
  combinealllist=aa.join(combineall)
  combinealllistn=combinealllist + "\n"
  ff.write(str(combinealllistn))
  ff.close()


