about summary refs log tree commit diff
path: root/sourcecodes
diff options
context:
space:
mode:
authorziejd22018-09-13 23:59:20 -0500
committerziejd22018-09-13 23:59:20 -0500
commite3f7237ffcb19f19db3b68777b5a94b89e07f66a (patch)
tree554a8013776ebeae3e2976074020c09c2d1af8b0 /sourcecodes
parenta7eb61ff7a09f39bee67014bf24b8919eaccfc19 (diff)
downloadBNW-e3f7237ffcb19f19db3b68777b5a94b89e07f66a.tar.gz
New parameter learning options
The main change here is in the parameter learning methods.  The parameters that are learned at first (i.e., if there is no evidence) are the distributions that are found directly in the data. I had to create or significantly modify several BNT files for this.

If there is evidence, the parameters are learned using a Dirichlet prior. This only required a couple of small changes to the BNW parameter learning files.
Diffstat (limited to 'sourcecodes')
-rw-r--r--sourcecodes/BNW_workflow_net1.htm6
-rw-r--r--sourcecodes/add_evd.php15
-rw-r--r--sourcecodes/add_evd_example.php12
-rw-r--r--sourcecodes/add_inv.php5
-rw-r--r--sourcecodes/add_inv_example.php4
-rw-r--r--sourcecodes/bn_file_load_gom.php5
-rw-r--r--sourcecodes/bnt-master/BNT/CPDs/@discrete_CPD/convert_to_pot_orig.m62
-rw-r--r--sourcecodes/bnt-master/BNT/CPDs/@discrete_CPD/convert_to_pot_orig.m~62
-rw-r--r--sourcecodes/bnt-master/BNT/CPDs/@discrete_CPD/convert_to_table_orig.m15
-rw-r--r--sourcecodes/bnt-master/BNT/CPDs/@discrete_CPD/convert_to_table_orig.m~15
-rw-r--r--sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/CPD_to_CPT_orig.m5
-rw-r--r--sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/CPD_to_CPT_orig.m~5
-rw-r--r--sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/get_field.m1
-rw-r--r--sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/learn_params_orig.m20
-rw-r--r--sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/learn_params_orig.m~20
-rw-r--r--sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/tabular_CPD.m3
-rw-r--r--sourcecodes/bnt-master/BNT/inference/static/@jtree_inf_engine/marginal_nodes_no_ev.m18
-rw-r--r--sourcecodes/bnt-master/BNT/inference/static/@jtree_inf_engine/marginal_nodes_no_ev.m~18
-rw-r--r--sourcecodes/bnt-master/BNT/learning/learn_params.m3
-rw-r--r--sourcecodes/clear.php11
-rw-r--r--sourcecodes/clear_example.php9
-rw-r--r--sourcecodes/create_tiers_gom.php6
-rw-r--r--sourcecodes/cross_valid.php125
-rw-r--r--sourcecodes/cross_valid_example.php125
-rw-r--r--sourcecodes/cv_predictions.php94
-rw-r--r--sourcecodes/cv_predictions_example.php94
-rw-r--r--sourcecodes/data/example1/Bqxcontinuous_input_orig.txt201
-rw-r--r--sourcecodes/data/example2/hQGcontinuous_input_orig.txt201
-rw-r--r--sourcecodes/data/example_chl/bWRcontinuous_input_orig.txt42
-rw-r--r--sourcecodes/data/example_chr2_spleen/cuLcontinuous_input_orig.txt74
-rw-r--r--sourcecodes/data/example_sci/Llucontinuous_input_orig.txt501
-rw-r--r--sourcecodes/data/example_time_series/TEbcontinuous_input_orig.txt501
-rw-r--r--sourcecodes/data/examplecar15node/eIAcontinuous_input_orig.txt1001
-rw-r--r--sourcecodes/enter_netID.php77
-rw-r--r--sourcecodes/example.php7
-rw-r--r--sourcecodes/execute_bn_gom.php6
-rw-r--r--sourcecodes/executionprogress.php5
-rw-r--r--sourcecodes/faq.php9
-rw-r--r--sourcecodes/filecopy.sh14
-rw-r--r--sourcecodes/graphviz_structure.php3
-rw-r--r--sourcecodes/header_batchsearch.inc11
-rw-r--r--sourcecodes/header_batchsearch.inc~253
-rw-r--r--sourcecodes/help.php25
-rw-r--r--sourcecodes/home.php1
-rw-r--r--sourcecodes/input_error.php27
-rw-r--r--sourcecodes/input_error_no_menu.php3
-rw-r--r--sourcecodes/input_error_no_menu.php~3
-rw-r--r--sourcecodes/input_validate.php30
-rw-r--r--sourcecodes/keyval_error.php27
-rw-r--r--sourcecodes/kfold_cv.php150
-rw-r--r--sourcecodes/kfold_cv_example.php150
-rw-r--r--sourcecodes/layout.php13
-rw-r--r--sourcecodes/layout_example.php12
-rw-r--r--sourcecodes/matrix.php3
-rw-r--r--sourcecodes/net_structure.php3
-rw-r--r--sourcecodes/network_layout_evd.php30
-rw-r--r--sourcecodes/network_layout_evd_2.php31
-rw-r--r--sourcecodes/network_layout_evd_2_example.php26
-rw-r--r--sourcecodes/network_layout_evd_example.php25
-rw-r--r--sourcecodes/network_layout_inv.php24
-rw-r--r--sourcecodes/network_layout_inv_2.php26
-rw-r--r--sourcecodes/network_layout_inv_2_example.php28
-rw-r--r--sourcecodes/network_layout_inv_example.php24
-rw-r--r--sourcecodes/parameter_display.php5
-rw-r--r--sourcecodes/parameter_learning/drawFigure.m3
-rw-r--r--sourcecodes/parameter_learning/kfoldCrossValid.m322
-rw-r--r--sourcecodes/parameter_learning/looCrossValid.m250
-rw-r--r--sourcecodes/parameter_learning/parameterLearning.m5
-rw-r--r--sourcecodes/parameter_learning/prepareInput.m2
-rw-r--r--sourcecodes/parameter_learning/testSetPredictions.m361
-rw-r--r--sourcecodes/parameter_learning/writeParameters.m3
-rw-r--r--sourcecodes/run_kfold14
-rw-r--r--sourcecodes/run_loo14
-rw-r--r--sourcecodes/run_test_set11
-rw-r--r--sourcecodes/test_set_predictions.php158
-rw-r--r--sourcecodes/test_set_predictions_example.php158
-rw-r--r--sourcecodes/tier_description_processing_gom.php4
-rw-r--r--sourcecodes/upload_structure_file.php3
78 files changed, 5510 insertions, 128 deletions
diff --git a/sourcecodes/BNW_workflow_net1.htm b/sourcecodes/BNW_workflow_net1.htm
index d69ddf84..318dd5c2 100644
--- a/sourcecodes/BNW_workflow_net1.htm
+++ b/sourcecodes/BNW_workflow_net1.htm
@@ -294,7 +294,7 @@ ul
 line-height:115%;font-family:"Arial","sans-serif"'>
 **Recent updates to BNW may result in slight differences between what is described/shown below and what would currently be experienced in BNW.**<br><br>
 This tutorial provides
-an overview of using BNW to build a Bayesian network model from a dataset and use the network to make predictions. The dataset used in this tutorial is a synthetic example of a genetic dataset that has a total of 8 variables. Two of the variables are genotypes labeled Geno1 and Geno2, and the remaining 6 variables are gene expression levels or other quantitative traits that are labeled Trait1 to Trait6. The dataset is available <a href="example_datasets/example_data_8nodes.txt">here</a>.<br><br>The data file is formatted according to the guidelines on the <a href=http://compbio.uthsc.edu/BNW_1.12/sourcecodes/help.php#file_format>BNW help page</a>. The first row of the file contains the names of the variables and the remaining rows contain the data for each sample of the dataset. The genotypes (Geno1 and Geno2), which are the only discrete variables in the network, are the leftmost variables in the input file and are integer values (1 and 2) for all of the samples. The quantitative traits are continuous variables, and, therefore, all contain a "." in at least one of the samples.<o:p></o:p></span></p>
+an overview of using BNW to build a Bayesian network model from a dataset and use the network to make predictions. The dataset used in this tutorial is a synthetic example of a genetic dataset that has a total of 8 variables. Two of the variables are genotypes labeled Geno1 and Geno2, and the remaining 6 variables are gene expression levels or other quantitative traits that are labeled Trait1 to Trait6. The dataset is available <a href="example_datasets/example_data_8nodes.txt">here</a>.<br><br>The data file is formatted according to the guidelines on the <a href=http://compbio.uthsc.edu/BNW_1.2/sourcecodes/help.php#file_format>BNW help page</a>. The first row of the file contains the names of the variables and the remaining rows contain the data for each sample of the dataset. The genotypes (Geno1 and Geno2), which are the only discrete variables in the network, are the leftmost variables in the input file and are integer values (1 and 2) for all of the samples. The quantitative traits are continuous variables, and, therefore, all contain a "." in at least one of the samples.<o:p></o:p></span></p>
 
 <p class=MsoNormal style='margin-right:107.5pt'><b style='mso-bidi-font-weight:
 normal'><span style='font-size:14.0pt;line-height:115%;font-family:"Arial","sans-serif"'>1. Structure learning using default options<o:p></o:p></span></b></p>
@@ -324,7 +324,7 @@ normal'><span style='font-size:14.0pt;line-height:115%;font-family:"Arial","sans
 
 <p class=MsoNormal style='margin-top:0in;margin-right:107.5pt;margin-bottom:
 0in;margin-left:0in;margin-bottom:.0001pt'><span style='font-size:12.0pt;
-line-height:115%;font-family:"Arial","sans-serif";mso-no-proof:yes'>In order to test if edges present the single best scoring network are conserved across high scoring networks. We can modify the structure learning settings to get identify the structures of many high scoring networks and perform <a href=http://compbio.uthsc.edu/BNW_1.12/sourcecodes/help.php#learn_details>model averaging</a> over these structures. To do this, return to the BNW home page, select <u>Learn a network model from data</u>, and upload the datafile. Instead of using the default settings, select <u>Go to structure learning settings and the BNW structural constraint interface</u>. A more detailed overview of use of the structural constraint interface is provided in <a href=http://compbio.uthsc.edu/BNW_1.12/sourcecodes/BNW_workflow_2.htm>another tutorial</a>, but, here, we will investigate the impact of modifying some of the structure learning settings shown below:<br><o:p></o:p></span></p><br>
+line-height:115%;font-family:"Arial","sans-serif";mso-no-proof:yes'>In order to test if edges present the single best scoring network are conserved across high scoring networks. We can modify the structure learning settings to get identify the structures of many high scoring networks and perform <a href=http://compbio.uthsc.edu/BNW_1.2/sourcecodes/help.php#learn_details>model averaging</a> over these structures. To do this, return to the BNW home page, select <u>Learn a network model from data</u>, and upload the datafile. Instead of using the default settings, select <u>Go to structure learning settings and the BNW structural constraint interface</u>. A more detailed overview of use of the structural constraint interface is provided in <a href=http://compbio.uthsc.edu/BNW_1.2/sourcecodes/BNW_workflow_2.htm>another tutorial</a>, but, here, we will investigate the impact of modifying some of the structure learning settings shown below:<br><o:p></o:p></span></p><br>
 
 <p class=MsoNormal style='margin-right:107.5pt'><span style='font-size:12.0pt;
 line-height:115%;font-family:"Arial","sans-serif";mso-no-proof:yes'>
@@ -358,7 +358,7 @@ normal'><span style='font-size:14.0pt;line-height:115%;font-family:"Arial","sans
 
 <p class=MsoNormal style='margin-top:0in;margin-right:107.5pt;margin-bottom:
 0in;margin-left:0in;margin-bottom:.0001pt'><span style='font-size:12.0pt;
-line-height:115%;font-family:"Arial","sans-serif";mso-no-proof:yes'><br>To make predictions with the network, we will use the structure learned after model averaging of the top 100 highest scoring networks. First, we will use the model to compare the expected values for nodes in the network based on observed genotypes. For these predictions, we will keep the prediction in evidence mode. The difference between evidence and intervention modes is discussed in the <a href=http://compbio.uthsc.edu/BNW_1.12/sourcecodes/faq.php#evid_inter>BNW FAQ page</a>. To use the model to make predictions based on Geno1, click on one of the blue bars in the Geno1 node and enter 1 or 2 to indicate which genotype value should be used to predict the values of the other network nodes. In the figure below, Geno1 is outlined in red and state 2 has a 100% probability, indicating that the value of this node has been entered as evidence. The red lines in the figure show the predicted distributions of the nodes after this evidence is known and can be compared with the blue lines which show the distributions for variables using the original data.<o:p></o:p></span></p><br>
+line-height:115%;font-family:"Arial","sans-serif";mso-no-proof:yes'><br>To make predictions with the network, we will use the structure learned after model averaging of the top 100 highest scoring networks. First, we will use the model to compare the expected values for nodes in the network based on observed genotypes. For these predictions, we will keep the prediction in evidence mode. The difference between evidence and intervention modes is discussed in the <a href=http://compbio.uthsc.edu/BNW_1.2/sourcecodes/faq.php#evid_inter>BNW FAQ page</a>. To use the model to make predictions based on Geno1, click on one of the blue bars in the Geno1 node and enter 1 or 2 to indicate which genotype value should be used to predict the values of the other network nodes. In the figure below, Geno1 is outlined in red and state 2 has a 100% probability, indicating that the value of this node has been entered as evidence. The red lines in the figure show the predicted distributions of the nodes after this evidence is known and can be compared with the blue lines which show the distributions for variables using the original data.<o:p></o:p></span></p><br>
 
 <p class=MsoNormal style='margin-right:107.5pt'><span style='font-size:12.0pt;
 line-height:115%;font-family:"Arial","sans-serif";mso-no-proof:yes'>
diff --git a/sourcecodes/add_evd.php b/sourcecodes/add_evd.php
index 92aca69f..346aba04 100644
--- a/sourcecodes/add_evd.php
+++ b/sourcecodes/add_evd.php
@@ -1,6 +1,6 @@
 <?php 
-
-$keyval=trim($_GET['My_key']);
+include("input_validate.php");
+$keyval=valid_keyval(trim($_GET['My_key']));
 
 //include("restructuremap.php");
 
@@ -76,10 +76,13 @@ $sym=trim($_GET['name']);
 $textdata=$_GET['evidence'];
 $ft=$dir.$keyval."var.txt";
 $fpvar = file_get_contents("$ft");
+$fpvar = trim("$fpvar");
 $ft=$dir.$keyval."vardata.txt";
 $fpdata  = file_get_contents("$ft");
+$fpdata = trim("$fpdata");
 $ft=$dir.$keyval."varname.txt";
 $fpvarname  = file_get_contents("$ft");
+$fpvarname = trim("$fpvarname");
 
 $vriable=mapid($sym,$keyval);
 
@@ -187,14 +190,8 @@ else
 }
 
 
-//  $file1="./data/".$keyval."run_evidencemodified.sh";
-//  $initiallines=file_get_contents("./data/temp_evidence_file");
-//  $all_lines="$initiallines"."$keyval\nfi\nexit";
-   
-//  $fp = fopen($file1,"w"); 
-//  fwrite($fp, "$all_lines\n");
-//  fclose($fp);
   //execute shell script for matlab
+  $keyval = valid_keyval($keyval);
   shell_exec('./run_octave_evd '.$keyval);
 
 ?>
diff --git a/sourcecodes/add_evd_example.php b/sourcecodes/add_evd_example.php
index a38d4474..29465fae 100644
--- a/sourcecodes/add_evd_example.php
+++ b/sourcecodes/add_evd_example.php
@@ -1,6 +1,6 @@
 <?php 
-
-$keyval=trim($_GET['My_key']);
+include("input_validate.php");
+$keyval=valid_keyval(trim($_GET['My_key']));
 
 //include("restructuremap.php");
 
@@ -185,14 +185,8 @@ else
 }
 
  
-//  $file1="./data/".$keyval."run_evidencemodified.sh";
-//  $initiallines=file_get_contents("./data/temp_evidence_file");
-//  $all_lines="$initiallines"."$keyval\nfi\nexit";
-   
-//  $fp = fopen($file1,"w"); 
-//  fwrite($fp, "$all_lines\n");
-//  fclose($fp);
   //execute shell script for matlab
+  $keyval = valid_keyval($keyval);
   shell_exec('./run_octave_evd '.$keyval);
 
 ?>
diff --git a/sourcecodes/add_inv.php b/sourcecodes/add_inv.php
index c2953f85..25b7b7ba 100644
--- a/sourcecodes/add_inv.php
+++ b/sourcecodes/add_inv.php
@@ -1,6 +1,7 @@
 <?php 
   //include("restructuremap.php");
-$keyval=$_GET["My_key"];
+include("input_validate.php");
+$keyval=valid_keyval($_GET["My_key"]);
 
 function discretemap($textdata,$sym,$dmapdata)
 {
@@ -181,6 +182,7 @@ else
 }
 
 include("mat_structure.php");
+$keyval = valid_keyval($keyval);
 structure_change($keyval);
 
 
@@ -197,6 +199,7 @@ structure_change($keyval);
   //execute shell script for matlab
  // $cmd="./runmat_inv.sh $keyval";
 //  system($cmd);
+
 shell_exec('./run_octave_inv '.$keyval);
 
 
diff --git a/sourcecodes/add_inv_example.php b/sourcecodes/add_inv_example.php
index 0a7ea200..a3e0f87d 100644
--- a/sourcecodes/add_inv_example.php
+++ b/sourcecodes/add_inv_example.php
@@ -1,6 +1,7 @@
 <?php 
   //include("restructuremap.php");
-$keyval=$_GET["My_key"];
+include("input_validate.php");
+$keyval=valid_keyval($_GET["My_key"]);
 
 function discretemap($textdata,$sym,$dmapdata)
 {
@@ -183,6 +184,7 @@ else
 }
 
 include("mat_structure.php");
+$keyval = valid_keyval($keyval);
 structure_change($keyval);
 
 
diff --git a/sourcecodes/bn_file_load_gom.php b/sourcecodes/bn_file_load_gom.php
index 21020152..eb3ac454 100644
--- a/sourcecodes/bn_file_load_gom.php
+++ b/sourcecodes/bn_file_load_gom.php
@@ -6,6 +6,7 @@
 include("header_new.inc");
 include("header_batchsearch.inc");
 include("runtime_check.php");
+include("input_validate.php");
 $searchID="";
 $UploadValue="NO";
 $TextFile=$HTTP_POST_FILES["MyFile"]["name"];
@@ -25,7 +26,7 @@ $keyval=$alpha;
 
 if($_POST["My_key"]!="")
   $keyval=$_POST["My_key"];
-
+  $keyval=valid_keyval($keyval);
 
 $sid=$keyval."continuous_input";
 $dir="./data/";
@@ -60,6 +61,7 @@ if(isset($HTTP_POST_VARS["MyUpload"]))
    {
         if($TextFile!="")
         {
+	  $TextFile = valid_input($TextFile);
             $sta=move_uploaded_file($HTTP_POST_FILES['MyFile']['tmp_name'],$TextinFile);
             if(!$sta)
             {
@@ -145,6 +147,7 @@ if($searchID!="")
       $fpdata = fopen($dir.$keyval."continuous_input_orig.txt","w");
       fwrite($fpdata,$searchID);
   }  
+  $keyval = valid_keyval($keyval);
   shell_exec('./run_prep_input '.$keyval);
   $parent_number=4;
   $k_number=1;
diff --git a/sourcecodes/bnt-master/BNT/CPDs/@discrete_CPD/convert_to_pot_orig.m b/sourcecodes/bnt-master/BNT/CPDs/@discrete_CPD/convert_to_pot_orig.m
new file mode 100644
index 00000000..dadcb033
--- /dev/null
+++ b/sourcecodes/bnt-master/BNT/CPDs/@discrete_CPD/convert_to_pot_orig.m
@@ -0,0 +1,62 @@
+function pot = convert_to_pot_orig(CPD, pot_type, domain, evidence, n, ns_current)
+% CONVERT_TO_POT Convert discrete CPD with original distribution to a potential
+% pot = convert_to_pot_orig(CPD, pot_type, domain, evidence, n, ns_current)
+%
+% pots = CPD evaluated using evidence(domain)
+
+ncases = size(domain,2);
+assert(ncases==1); % not yet vectorized
+
+sz = dom_sizes(CPD);
+ns = zeros(1, max(domain));
+ns(domain) = sz;
+
+CPT1 = CPD_to_CPT(CPD);
+spar = issparse(CPT1);
+odom = domain(~isemptycell(evidence(domain)));
+if spar
+   T = convert_to_sparse_table(CPD, domain, evidence);
+else 
+   T = convert_to_table(CPD, domain, evidence);
+end
+
+switch pot_type
+ case 'u',
+  pot = upot(domain, sz, T, 0*myones(sz));  
+ case 'd',
+  CPT_orig = CPD_to_CPT_orig(CPD);
+  pot = dpot(n, ns_current, CPT_orig);          
+ case {'c','g'},
+  % Since we want the output to be a Gaussian, the whole family must be observed.
+  % In other words, the potential is really just a constant.
+  p = T;
+  %p = prob_node(CPD, evidence(domain(end)), evidence(domain(1:end-1)));
+  ns(domain) = 0;
+  pot = cpot(domain, ns(domain), log(p));       
+
+ case 'cg',
+  T = T(:);
+  ns(odom) = 1;
+  can = cell(1, length(T));
+  for i=1:length(T)
+    if T(i) == 0 
+      can{i} = cpot([], [], -Inf); % bug fix by Bob Welch 20/2/04
+    else
+      can{i} = cpot([], [], log(T(i)));
+    end;
+  end
+  pot = cgpot(domain, [], ns, can); 
+  
+ case 'scg'
+  T = T(:);
+  ns(odom) = 1;
+  pot_array = cell(1, length(T));
+  for i=1:length(T)
+    pot_array{i} = scgcpot([], [], T(i));
+  end
+  pot = scgpot(domain, [], [], ns, pot_array);   
+
+ otherwise,
+  error(['unrecognized pot type ' pot_type])
+end
+
diff --git a/sourcecodes/bnt-master/BNT/CPDs/@discrete_CPD/convert_to_pot_orig.m~ b/sourcecodes/bnt-master/BNT/CPDs/@discrete_CPD/convert_to_pot_orig.m~
new file mode 100644
index 00000000..ecc57d49
--- /dev/null
+++ b/sourcecodes/bnt-master/BNT/CPDs/@discrete_CPD/convert_to_pot_orig.m~
@@ -0,0 +1,62 @@
+function pot = convert_to_pot(CPD, pot_type, domain, evidence)
+% CONVERT_TO_POT Convert a discrete CPD to a potential
+% pot = convert_to_pot(CPD, pot_type, domain, evidence)
+%
+% pots = CPD evaluated using evidence(domain)
+
+ncases = size(domain,2);
+assert(ncases==1); % not yet vectorized
+
+sz = dom_sizes(CPD);
+ns = zeros(1, max(domain));
+ns(domain) = sz;
+
+CPT1 = CPD_to_CPT(CPD);
+spar = issparse(CPT1);
+odom = domain(~isemptycell(evidence(domain)));
+if spar
+   T = convert_to_sparse_table(CPD, domain, evidence);
+else 
+   T = convert_to_table(CPD, domain, evidence);
+end
+
+switch pot_type
+ case 'u',
+  pot = upot(domain, sz, T, 0*myones(sz));  
+ case 'd',
+  ns(odom) = 1;
+  pot = dpot(domain, ns(domain), T);          
+ case {'c','g'},
+  % Since we want the output to be a Gaussian, the whole family must be observed.
+  % In other words, the potential is really just a constant.
+  p = T;
+  %p = prob_node(CPD, evidence(domain(end)), evidence(domain(1:end-1)));
+  ns(domain) = 0;
+  pot = cpot(domain, ns(domain), log(p));       
+
+ case 'cg',
+  T = T(:);
+  ns(odom) = 1;
+  can = cell(1, length(T));
+  for i=1:length(T)
+    if T(i) == 0 
+      can{i} = cpot([], [], -Inf); % bug fix by Bob Welch 20/2/04
+    else
+      can{i} = cpot([], [], log(T(i)));
+    end;
+  end
+  pot = cgpot(domain, [], ns, can); 
+  
+ case 'scg'
+  T = T(:);
+  ns(odom) = 1;
+  pot_array = cell(1, length(T));
+  for i=1:length(T)
+    pot_array{i} = scgcpot([], [], T(i));
+  end
+  pot = scgpot(domain, [], [], ns, pot_array);   
+
+ otherwise,
+  error(['unrecognized pot type ' pot_type])
+end
+
diff --git a/sourcecodes/bnt-master/BNT/CPDs/@discrete_CPD/convert_to_table_orig.m b/sourcecodes/bnt-master/BNT/CPDs/@discrete_CPD/convert_to_table_orig.m
new file mode 100644
index 00000000..92aacc0d
--- /dev/null
+++ b/sourcecodes/bnt-master/BNT/CPDs/@discrete_CPD/convert_to_table_orig.m
@@ -0,0 +1,15 @@
+function T = convert_to_table(CPD, domain, evidence)
+% CONVERT_TO_TABLE Convert a discrete CPD to a table with original distribution
+% T = convert_to_table(CPD, domain, evidence)
+%
+% We convert the CPD to a CPT, and then lookup the evidence on the discrete parents.
+% The resulting table can easily be converted to a potential.
+
+domain = domain(:);
+CPT = CPD_to_CPT_orig(CPD);
+odom = domain(~isemptycell(evidence(domain)));
+vals = cat(1, evidence{odom});
+map = find_equiv_posns(odom, domain);
+index = mk_multi_index(length(domain), map, vals);
+T = CPT(index{:});
+T = T(:);
diff --git a/sourcecodes/bnt-master/BNT/CPDs/@discrete_CPD/convert_to_table_orig.m~ b/sourcecodes/bnt-master/BNT/CPDs/@discrete_CPD/convert_to_table_orig.m~
new file mode 100644
index 00000000..dc5bcd40
--- /dev/null
+++ b/sourcecodes/bnt-master/BNT/CPDs/@discrete_CPD/convert_to_table_orig.m~
@@ -0,0 +1,15 @@
+function T = convert_to_table(CPD, domain, evidence)
+% CONVERT_TO_TABLE Convert a discrete CPD to a table
+% T = convert_to_table(CPD, domain, evidence)
+%
+% We convert the CPD to a CPT, and then lookup the evidence on the discrete parents.
+% The resulting table can easily be converted to a potential.
+
+domain = domain(:);
+CPT = CPD_to_CPT(CPD);
+odom = domain(~isemptycell(evidence(domain)));
+vals = cat(1, evidence{odom});
+map = find_equiv_posns(odom, domain);
+index = mk_multi_index(length(domain), map, vals);
+T = CPT(index{:});
+T = T(:);
diff --git a/sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/CPD_to_CPT_orig.m b/sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/CPD_to_CPT_orig.m
new file mode 100644
index 00000000..707de900
--- /dev/null
+++ b/sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/CPD_to_CPT_orig.m
@@ -0,0 +1,5 @@
+function CPT = CPD_to_CPT_orig(CPD)
+% CPD_TO_CPT Convert the discrete CPD to tabular form (tabular)
+% CPT = CPD_to_CPT_orig(CPD)
+
+CPT = CPD.CPT_orig;
diff --git a/sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/CPD_to_CPT_orig.m~ b/sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/CPD_to_CPT_orig.m~
new file mode 100644
index 00000000..351f103c
--- /dev/null
+++ b/sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/CPD_to_CPT_orig.m~
@@ -0,0 +1,5 @@
+function CPT = CPD_to_CPT(CPD)
+% CPD_TO_CPT Convert the discrete CPD to tabular form (tabular)
+% CPT = CPD_to_CPT(CPD)
+
+CPT = CPD.CPT;
diff --git a/sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/get_field.m b/sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/get_field.m
index ba233db9..5812330d 100644
--- a/sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/get_field.m
+++ b/sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/get_field.m
@@ -10,6 +10,7 @@ function val = get_field(CPD, name)
 
 switch name
  case 'cpt',      val = CPD.CPT;
+ case 'cpt_orig',      val = CPD.CPT_orig;
  case 'counts',      val = CPD.counts;
  otherwise,
   error(['invalid argument name ' name]);
diff --git a/sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/learn_params_orig.m b/sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/learn_params_orig.m
new file mode 100644
index 00000000..c0948566
--- /dev/null
+++ b/sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/learn_params_orig.m
@@ -0,0 +1,20 @@
+function CPD = learn_params_orig(CPD,j,data,ns,cnodes)
+% LEARN_PARAMS_ORIG
+% Calculate the original distributions of the data.
+%   The original distributions are just the percentages of states in the 
+%        data file.
+
+local_data = data(j, :); 
+nobs = size(local_data,2);
+if iscell(local_data)
+  local_data = cell2num(local_data);
+end
+counts = compute_counts(local_data,ns(j));
+counts = counts/nobs;
+switch CPD.prior_type
+ case 'none', CPD.CPT_orig = counts; 
+% case 'dirichlet', CPD.CPT = mk_stochastic(counts + CPD.dirichlet); 
+% I will use 'dirichlet' priors incorrectly here.
+ case 'dirichlet', CPD.CPT_orig = counts; 
+ otherwise, error(['unrecognized prior ' CPD.prior_type])
+end
diff --git a/sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/learn_params_orig.m~ b/sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/learn_params_orig.m~
new file mode 100644
index 00000000..7a19a42d
--- /dev/null
+++ b/sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/learn_params_orig.m~
@@ -0,0 +1,20 @@
+function CPD = learn_params_orig(CPD,j,data,data,ns,cnodes)
+% LEARN_PARAMS_ORIG
+% Calculate the original distributions of the data.
+%   The original distributions are just the percentages of states in the 
+%        data file.
+
+local_data = data(j, :); 
+nobs = size(local_data,2);
+if iscell(local_data)
+  local_data = cell2num(local_data);
+end
+counts = compute_counts(local_data,ns(j));
+counts = counts/nobs;
+switch CPD.prior_type
+ case 'none', CPD.CPT_orig = counts; 
+% case 'dirichlet', CPD.CPT = mk_stochastic(counts + CPD.dirichlet); 
+% I will use 'dirichlet' priors incorrectly here.
+ case 'dirichlet', CPD.CPT_orig = counts; 
+ otherwise, error(['unrecognized prior ' CPD.prior_type])
+end
diff --git a/sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/tabular_CPD.m b/sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/tabular_CPD.m
index 728302d4..a41a23d9 100644
--- a/sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/tabular_CPD.m
+++ b/sourcecodes/bnt-master/BNT/CPDs/@tabular_CPD/tabular_CPD.m
@@ -9,6 +9,7 @@ function CPD = tabular_CPD(bnet, self, varargin)
 %   - T means use table T; it will be reshaped to the size of node's family.
 %   - 'rnd' creates rnd params (drawn from uniform)
 %   - 'unif' creates a uniform distribution
+% CPT_orig - specifies the distribution based on original data
 % adjustable - 0 means don't adjust the parameters during learning [1]
 % prior_type - defines type of prior ['none']
 %  - 'none' means do ML estimation
@@ -60,6 +61,7 @@ CPD.sparse = 0;
 
 % set defaults
 CPD.CPT = mk_stochastic(myrand(fam_sz));
+CPD.CPT_orig = mk_stochastic(myrand(ns([self])));
 CPD.adjustable = 1;
 CPD.prior_type = 'none';
 dirichlet_type = 'BDeu';
@@ -158,6 +160,7 @@ function CPD = init_fields()
 % or create it from scratch. (Matlab requires this.)
 
 CPD.CPT = [];
+CPD.CPT_orig = [];
 CPD.sizes = [];
 CPD.prior_type = [];
 CPD.dirichlet = [];
diff --git a/sourcecodes/bnt-master/BNT/inference/static/@jtree_inf_engine/marginal_nodes_no_ev.m b/sourcecodes/bnt-master/BNT/inference/static/@jtree_inf_engine/marginal_nodes_no_ev.m
new file mode 100644
index 00000000..220690ce
--- /dev/null
+++ b/sourcecodes/bnt-master/BNT/inference/static/@jtree_inf_engine/marginal_nodes_no_ev.m
@@ -0,0 +1,18 @@
+function marginal = marginal_nodes_no_ev(bnet,engine, query)
+% MARGINAL_NODES Get original distribution of the specified query nodes (jtree)
+% marginal = marginal_nodes(bnet, engine, query)
+%
+
+if ismember(query,bnet.dnodes)
+  marginal.domain = query;
+  marginal.T = CPD_to_CPT_orig(bnet.CPD{query});
+  marginal.mu = [];
+  marginal.Sigma = [];
+else
+  c = clq_containing_nodes(engine, query);
+  if c == -1
+    error(['no clique contains ' num2str(query)]);
+  end
+  marginal = pot_to_marginal(marginalize_pot(engine.clpot{c}, query, engine.maximize));
+end
+
diff --git a/sourcecodes/bnt-master/BNT/inference/static/@jtree_inf_engine/marginal_nodes_no_ev.m~ b/sourcecodes/bnt-master/BNT/inference/static/@jtree_inf_engine/marginal_nodes_no_ev.m~
new file mode 100644
index 00000000..220690ce
--- /dev/null
+++ b/sourcecodes/bnt-master/BNT/inference/static/@jtree_inf_engine/marginal_nodes_no_ev.m~
@@ -0,0 +1,18 @@
+function marginal = marginal_nodes_no_ev(bnet,engine, query)
+% MARGINAL_NODES Get original distribution of the specified query nodes (jtree)
+% marginal = marginal_nodes(bnet, engine, query)
+%
+
+if ismember(query,bnet.dnodes)
+  marginal.domain = query;
+  marginal.T = CPD_to_CPT_orig(bnet.CPD{query});
+  marginal.mu = [];
+  marginal.Sigma = [];
+else
+  c = clq_containing_nodes(engine, query);
+  if c == -1
+    error(['no clique contains ' num2str(query)]);
+  end
+  marginal = pot_to_marginal(marginalize_pot(engine.clpot{c}, query, engine.maximize));
+end
+
diff --git a/sourcecodes/bnt-master/BNT/learning/learn_params.m b/sourcecodes/bnt-master/BNT/learning/learn_params.m
index 1bf9c843..3d7ba847 100644
--- a/sourcecodes/bnt-master/BNT/learning/learn_params.m
+++ b/sourcecodes/bnt-master/BNT/learning/learn_params.m
@@ -21,6 +21,9 @@ for j=1:n
     fam = family(bnet.dag,j);
     %bnet.CPD{j} = learn_params(bnet.CPD{j}, data(fam,:));
     bnet.CPD{j} = learn_params(bnet.CPD{j}, fam, data, bnet.node_sizes, bnet.cnodes);
+    if ismember(e,bnet.dnodes)
+      bnet.CPD{j} = learn_params_orig(bnet.CPD{j}, j, data, bnet.node_sizes, bnet.cnodes);
+    end
   end
 end
 
diff --git a/sourcecodes/clear.php b/sourcecodes/clear.php
index 8d8f8344..b06c9bc1 100644
--- a/sourcecodes/clear.php
+++ b/sourcecodes/clear.php
@@ -1,6 +1,13 @@
 <?php
+include("input_validate.php");
+$oldkeyval=valid_keyval($_GET["My_key"]);
+
+//if (preg_match('/[^A-Za-z]/',$oldkeyval)) {
+//  echo "Key value must contain only uppercase or lowercase letters.";
+//  $oldkeyval='';
+//}
+
 
-$oldkeyval=$_GET["My_key"];
 
 /////////////Generate a random key/////////////////////
 $alphas=array();
@@ -11,7 +18,7 @@ $al2=rand(0,51);
 $al3=rand(0,51);
 
 $alpha="$alphas[$al1]"."$alphas[$al2]"."$alphas[$al3]";
-$keyval=$alpha;
+$keyval=valid_keyval($alpha);
 shell_exec('./filecopy.sh '.$oldkeyval.' '.$keyval);
 
 ?>
diff --git a/sourcecodes/clear_example.php b/sourcecodes/clear_example.php
index 4b0a8315..c01a6f7e 100644
--- a/sourcecodes/clear_example.php
+++ b/sourcecodes/clear_example.php
@@ -1,6 +1,10 @@
 <?php
-
-$oldkeyval=$_GET["My_key"];
+include("input_validate.php");
+$oldkeyval=valid_keyval($_GET["My_key"]);
+//if (preg_match('/[^A-Za-z]/',$oldkeyval)) {
+//  echo "Key value must contain only uppercase or lowercase letters.";
+//  $oldkeyval='';
+//}
 
 /////////////Generate a random key/////////////////////
 $alphas=array();
@@ -12,6 +16,7 @@ $al3=rand(0,51);
 
 $alpha="$alphas[$al1]"."$alphas[$al2]"."$alphas[$al3]";
 $keyval=$alpha;
+$keyval=valid_keyval($keyval);
 shell_exec('./filecopy.sh '.$oldkeyval.' '.$keyval);
 
 ?>
diff --git a/sourcecodes/create_tiers_gom.php b/sourcecodes/create_tiers_gom.php
index be8e2fc2..b830f529 100644
--- a/sourcecodes/create_tiers_gom.php
+++ b/sourcecodes/create_tiers_gom.php
@@ -4,7 +4,7 @@
 
 include("header_new.inc");
 include("runtime_check.php");
-
+include("input_validate.php");
 $keyval=$_GET["My_key"];
 
 $dir="./data/";
@@ -41,6 +41,7 @@ $structure_thr=trim($type_n[3]);
 if($keyval=="")
   $keyval=$type_n[4];
 
+
 if($parent_number=="")
 {
    $parent_number=4;
@@ -81,7 +82,8 @@ $thrfile=$dir.$keyval."thr.txt";
 $kf=fopen($thrfile,"w");
 fwrite($kf,"$structure_thr\n");
 
-//////////////////Check execution time///////////////////////////////////////////////
+//////////////////Check execution time//////////////////////////////////////////////
+$keyval=valid_keyval($keyval);
 $runtime=exe_time($keyval,$parent_number,$k_number);
 
 //print("Runtime is $runtime");
diff --git a/sourcecodes/cross_valid.php b/sourcecodes/cross_valid.php
new file mode 100644
index 00000000..8c402283
--- /dev/null
+++ b/sourcecodes/cross_valid.php
@@ -0,0 +1,125 @@
+<?php 
+include("header_new.inc");
+include("input_validate.php");
+$keyval=$_GET["My_key"];
+if($keyval!='') {
+  $keyval = valid_keyval($keyval);
+}
+?>
+
+<?php
+$varName = "";
+$varNameErr = "";
+
+if ($_SERVER["REQUEST_METHOD"] == "POST") {
+  $keyval=$_POST["My_key"];
+  if($keyval!='') {
+    $keyval = valid_keyval($keyval);
+  }
+  if (empty($_POST["varName"])) {
+    $varNameErr = "Entering a variable name is required";
+  } else {
+    //    $varName = test_input($_POST["varName"]);
+    $varName = valid_input($_POST["varName"]);
+    $varNameErr = "1";
+    // check if name only contains letters and whitespace
+    //if (!preg_match("/^[\w]*$/",$varName)) {
+    //  $varNameErr = "The input string contains characters that are not allowed"; 
+    //}
+  }
+}
+
+
+function test_input($data) {
+  $data = trim($data);
+  $data = stripslashes($data);
+  $data = htmlspecialchars($data);
+  return $data;
+}
+?>
+
+
+<!-- Site navigation menu -->
+<ul class="navbar2">
+  <li><p>Network ID:<br><?php print($keyval);?></p></li>
+</ul>
+<ul class="navbar">
+  <li><a href="javascript:void(0);"
+  NAME="Network" title="Network" onClick=window.open("layout.php?My_key=<?php print($keyval);?>","_self");>Return to network</a>
+  <li><a href="javascript:void(0);"
+  NAME="CV_predictions" title="CV_pred" onClick=window.open("cv_predictions.php?My_key=<?php print($keyval);?>","_self");>Return to validation and predictions menu</a>
+  <li><a href="help.php">Help</a>
+  <li><a href="home.php">Home</a>
+</ul>
+
+
+<!-- Main content -->
+<div id="outer">
+
+<?php
+  $filename1="./data/".$keyval."looCV.txt";
+  $filename2="./data/".$keyval."looCV_temp.txt";
+if(file_exists($filename2))
+ {?>
+<br>
+  <h2> Leave-one-out cross-validation results are being calculated</h2>
+<br>
+     <a href=<?php $ref="cv_predictions.php?".$keyval; print($ref);?>Refresh to update status</a>
+<br>
+<?php
+ }
+ else if(file_exists($filename1))
+ {?>
+<br>
+    <h2> <a href=<?php $d="./data/".$keyval."looCV.txt"; print($d);?>>View cross-validation results</a></h2>
+<br>
+<h3>Perform leave-one-out cross-validation of another network variable<br></h3>
+<p align="justify"> 
+ Enter the name of another variable below to validate predictions of that variable.
+<br>
+<p><span class="error"></span></p>
+<FORM METHOD="post" ACTION="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
+    Variable Name:<INPUT TYPE="text" name="varName" value="<?php echo $varName;?>" style="padding: 2px 5px; border: 2px solid; border-color: black black black black; font-family: Georgia, ..., serif; font-size: 18px;
+display: block; height: 30px; width: 300px;"><span class="error"> <?php if($varNameErr!="1") {echo $varNameErr;};?></span>
+<input type='hidden' name='My_key' value='<?php print($keyval)?>'>
+<br><input type="submit" name="submit" value="Submit" style="display: block; height: 30px; width:100px; font-family: Georgia, ..., serif; font-size: 16px;">
+</FORM>
+</p>
+<br>
+<?php
+     } else {
+?>
+<h2>Perform leave-one-out cross-validation of network</h2>
+<p align="justify"> 
+  To perform cross-validation, enter the name of the variable that you want to test the predictions of below.
+<br>
+<p><span class="error"></span></p>
+<FORM METHOD="post" ACTION="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
+    Variable Name:<INPUT TYPE="text" name="varName" value="<?php echo $varName;?>" style="padding: 2px 5px; border: 2px solid; border-color: black black black black; font-family: Georgia, ..., serif; font-size: 18px;
+display: block; height: 30px; width: 300px;"><span class="error"> <?php if($varNameErr!="1") {echo $varNameErr;};?></span>
+<input type='hidden' name='My_key' value='<?php print($keyval)?>'>
+<br><input type="submit" name="submit" value="Submit" style="display: block; height: 30px; width:100px; font-family: Georgia, ..., serif; font-size: 16px;">
+</FORM>
+</p>
+<br>
+
+<?php
+}
+
+if($varNameErr=="1")
+{
+  $command = './run_loo '.$keyval.' '.$varName;
+  $output = shell_exec("$command > /dev/null 2 > /dev/null &");
+  $pred_link='cv_predictions.php?My_key='.$keyval;
+  sleep(1);
+  echo "<br>";
+  echo "Calculation submitted";
+  echo "<br>";
+  echo "<a href=$pred_link>Click to return to cross-validation and predictions menu</a>";
+}
+?>
+
+</div>
+</body>
+
+
diff --git a/sourcecodes/cross_valid_example.php b/sourcecodes/cross_valid_example.php
new file mode 100644
index 00000000..a4bbe043
--- /dev/null
+++ b/sourcecodes/cross_valid_example.php
@@ -0,0 +1,125 @@
+<?php 
+include("header_new.inc");
+include("input_validate.php");
+$keyval=$_GET["My_key"];
+if($keyval!='') {
+  $keyval = valid_keyval($keyval);
+}
+?>
+
+<?php
+$varName = "";
+$varNameErr = "";
+
+if ($_SERVER["REQUEST_METHOD"] == "POST") {
+  $keyval=$_POST["My_key"];
+  if($keyval!='') {
+    $keyval = valid_keyval($keyval);
+  }
+  if (empty($_POST["varName"])) {
+    $varNameErr = "Entering a variable name is required";
+  } else {
+    //    $varName = test_input($_POST["varName"]);
+    $varName = valid_input($_POST["varName"]);
+    $varNameErr = "1";
+    // check if name only contains letters and whitespace
+    //if (!preg_match("/^[\w]*$/",$varName)) {
+    //  $varNameErr = "The input string contains characters that are not allowed"; 
+    //}
+  }
+}
+
+
+function test_input($data) {
+  $data = trim($data);
+  $data = stripslashes($data);
+  $data = htmlspecialchars($data);
+  return $data;
+}
+?>
+
+
+<!-- Site navigation menu -->
+<ul class="navbar2">
+  <li><p>Network ID:<br><?php print($keyval);?></p></li>
+</ul>
+<ul class="navbar">
+  <li><a href="javascript:void(0);"
+  NAME="Network" title="Network" onClick=window.open("layout_example.php?My_key=<?php print($keyval);?>","_self");>Return to network</a>
+  <li><a href="javascript:void(0);"
+  NAME="CV_predictions" title="CV_pred" onClick=window.open("cv_predictions_example.php?My_key=<?php print($keyval);?>","_self");>Return to validation and predictions menu</a>
+  <li><a href="help.php">Help</a>
+  <li><a href="home.php">Home</a>
+</ul>
+
+
+<!-- Main content -->
+<div id="outer">
+
+<?php
+  $filename1="./data/".$keyval."looCV.txt";
+  $filename2="./data/".$keyval."looCV_temp.txt";
+if(file_exists($filename2))
+ {?>
+<br>
+  <h2> Leave-one-out cross-validation results are being calculated</h2>
+<br>
+     <a href=<?php $ref="cv_predictions_example.php?".$keyval; print($ref);?>Refresh to update status</a>
+<br>
+<?php
+ }
+ else if(file_exists($filename1))
+ {?>
+<br>
+    <h2> <a href=<?php $d="./data/".$keyval."looCV.txt"; print($d);?>>View cross-validation results</a></h2>
+<br>
+<h3>Perform leave-one-out cross-validation of another network variable<br></h3>
+<p align="justify"> 
+ Enter the name of another variable below to validate predictions of that variable.
+<br>
+<p><span class="error"></span></p>
+<FORM METHOD="post" ACTION="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
+    Variable Name:<INPUT TYPE="text" name="varName" value="<?php echo $varName;?>" style="padding: 2px 5px; border: 2px solid; border-color: black black black black; font-family: Georgia, ..., serif; font-size: 18px;
+display: block; height: 30px; width: 300px;"><span class="error"> <?php if($varNameErr!="1") {echo $varNameErr;};?></span>
+<input type='hidden' name='My_key' value='<?php print($keyval)?>'>
+<br><input type="submit" name="submit" value="Submit" style="display: block; height: 30px; width:100px; font-family: Georgia, ..., serif; font-size: 16px;">
+</FORM>
+</p>
+<br>
+<?php
+     } else {
+?>
+<h2>Perform leave-one-out cross-validation of network</h2>
+<p align="justify"> 
+  To perform cross-validation, enter the name of the variable that you want to test the predictions of below.
+<br>
+<p><span class="error"></span></p>
+<FORM METHOD="post" ACTION="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
+    Variable Name:<INPUT TYPE="text" name="varName" value="<?php echo $varName;?>" style="padding: 2px 5px; border: 2px solid; border-color: black black black black; font-family: Georgia, ..., serif; font-size: 18px;
+display: block; height: 30px; width: 300px;"><span class="error"> <?php if($varNameErr!="1") {echo $varNameErr;};?></span>
+<input type='hidden' name='My_key' value='<?php print($keyval)?>'>
+<br><input type="submit" name="submit" value="Submit" style="display: block; height: 30px; width:100px; font-family: Georgia, ..., serif; font-size: 16px;">
+</FORM>
+</p>
+<br>
+
+<?php
+}
+
+if($varNameErr=="1")
+{
+  $command = './run_loo '.$keyval.' '.$varName;
+  $output = shell_exec("$command > /dev/null 2 > /dev/null &");
+  $pred_link='cv_predictions_example.php?My_key='.$keyval;
+  sleep(1);
+  echo "<br>";
+  echo "Calculation submitted";
+  echo "<br>";
+  echo "<a href=$pred_link>Click to return to cross-validation and predictions menu</a>";
+}
+?>
+
+</div>
+</body>
+
+
diff --git a/sourcecodes/cv_predictions.php b/sourcecodes/cv_predictions.php
new file mode 100644
index 00000000..811f0c35
--- /dev/null
+++ b/sourcecodes/cv_predictions.php
@@ -0,0 +1,94 @@
+<?php 
+
+include("header_new.inc");
+include("input_validate.php");
+
+$keyval=valid_keyval($_GET["My_key"]);
+
+?>
+
+<!-- Site navigation menu -->
+<ul class="navbar2">
+  <li><p>Network ID:<br><?php print($keyval);?></p></li>
+</ul>
+<ul class="navbar">
+  <li><a href="javascript:void(0);"
+    NAME="Network" title="Network" onClick=window.open("layout.php?My_key=<?php print($keyval);?>","_self");>Return to network</a>
+  <li><a href="help.php">Help</a>
+  <li><a href="home.php">Home</a>
+
+
+</ul>
+
+
+<!-- Main content -->
+<div id="outer">
+<h1>Cross-validation and predictions</h1>
+<br>
+<p align="justify">
+<ul class="listbar">
+<?php
+  $loo_file1="./data/".$keyval."looCV_temp.txt";
+  $loo_file2="./data/".$keyval."looCV.txt";
+if(file_exists($loo_file1))
+  {?>
+<li>1: Leave-one-out cross-validation predictions are being calculated.
+     <a href="cv_predictions.php?My_key=<?php print($keyval);?>">Refresh and update status</a>
+<br>
+</li>
+  <?php
+   } else if(file_exists($loo_file2)) {
+   ?>   
+<li>1: <a href="cross_valid.php?My_key=<?php print($keyval);?>" target='_self'>Leave-one-out cross-validation results are available.</a></li>
+  <?php
+    } else {
+  ?>
+  <li>1: <a href="cross_valid.php?My_key=<?php print($keyval);?>" target='_self'>Perform leave-one-out cross-validation</a></li>
+  <?php
+    }
+   ?>
+<?php
+  $kfold_file1="./data/".$keyval."kfoldCV_temp.txt";
+  $kfold_file2="./data/".$keyval."kfoldCV.txt";
+if(file_exists($kfold_file1))
+  {?>
+<li>2: k-fold cross-validation predictions are being calculated.
+     <a href="cv_predictions.php?My_key=<?php print($keyval);?>">Refresh and update status</a>
+<br>
+</li>
+  <?php
+   } else if(file_exists($kfold_file2)) {
+   ?>   
+<li>2: <a href="kfold_cv.php?My_key=<?php print($keyval);?>" target='_self'>k-fold cross-validation results are available</a></li>
+  <?php
+    } else {
+  ?>
+  <li>2: <a href="kfold_cv.php?My_key=<?php print($keyval);?>" target='_self'>Perform k-fold cross-validation</a></li>
+  <?php
+    }
+   ?>
+<?php
+  $ts_file1="./data/".$keyval."ts_upload.txt";
+  $ts_file2="./data/".$keyval."ts_output.txt";
+if(file_exists($ts_file1))
+  {?>
+<li>3: Test set predictions are being calculated.
+     <a href="cv_predictions.php?My_key=<?php print($keyval);?>">Refresh and update status</a>
+<br>
+</li>
+  <?php
+   } else if(file_exists($ts_file2)) {
+   ?>   
+<li>3: <a href="test_set_predictions.php?My_key=<?php print($keyval);?>" target='_self'>Test set predictions are available</a></li>
+  <?php
+    } else {
+  ?>
+  <li>3: <a href="test_set_predictions.php?My_key=<?php print($keyval);?>" target='_self'>Make predictions using a test data set</a></li>
+  <?php
+    }
+   ?>
+</ul>
+</p>
+</div>
+</body>
+</html>
diff --git a/sourcecodes/cv_predictions_example.php b/sourcecodes/cv_predictions_example.php
new file mode 100644
index 00000000..10487de8
--- /dev/null
+++ b/sourcecodes/cv_predictions_example.php
@@ -0,0 +1,94 @@
+<?php 
+
+include("header_new.inc");
+include("input_validate.php");
+
+$keyval=valid_keyval($_GET["My_key"]);
+
+?>
+
+<!-- Site navigation menu -->
+<ul class="navbar2">
+  <li><p>Network ID:<br><?php print($keyval);?></p></li>
+</ul>
+<ul class="navbar">
+  <li><a href="javascript:void(0);"
+    NAME="Network" title="Network" onClick=window.open("layout_example.php?My_key=<?php print($keyval);?>","_self");>Return to network</a>
+  <li><a href="help.php">Help</a>
+  <li><a href="home.php">Home</a>
+
+
+</ul>
+
+
+<!-- Main content -->
+<div id="outer">
+<h1>Cross-validation and predictions</h1>
+<br>
+<p align="justify">
+<ul class="listbar">
+<?php
+  $loo_file1="./data/".$keyval."looCV_temp.txt";
+  $loo_file2="./data/".$keyval."looCV.txt";
+if(file_exists($loo_file1))
+  {?>
+<li>1: Leave-one-out cross-validation predictions are being calculated.
+     <a href="cv_predictions_example.php?My_key=<?php print($keyval);?>">Refresh to update status</a>
+<br>
+</li>
+  <?php
+   } else if(file_exists($loo_file2)) {
+   ?>   
+<li>1: <a href="cross_valid_example.php?My_key=<?php print($keyval);?>" target='_self'>Leave-one-out cross-validation results are available.</a></li>
+  <?php
+    } else {
+  ?>
+  <li>1: <a href="cross_valid_example.php?My_key=<?php print($keyval);?>" target='_self'>Perform leave-one-out cross-validation</a></li>
+  <?php
+    }
+   ?>
+<?php
+  $kfold_file1="./data/".$keyval."kfoldCV_temp.txt";
+  $kfold_file2="./data/".$keyval."kfoldCV.txt";
+if(file_exists($kfold_file1))
+  {?>
+<li>2: k-fold cross-validation predictions are being calculated.
+     <a href="cv_predictions_example.php?My_key=<?php print($keyval);?>">Refresh to update status</a>
+<br>
+</li>
+  <?php
+   } else if(file_exists($kfold_file2)) {
+   ?>   
+<li>2: <a href="kfold_cv_example.php?My_key=<?php print($keyval);?>" target='_self'>k-fold cross-validation results are available</a></li>
+  <?php
+    } else {
+  ?>
+  <li>2: <a href="kfold_cv_example.php?My_key=<?php print($keyval);?>" target='_self'>Perform k-fold cross-validation</a></li>
+  <?php
+    }
+   ?>
+<?php
+  $ts_file1="./data/".$keyval."ts_upload.txt";
+  $ts_file2="./data/".$keyval."ts_output.txt";
+if(file_exists($ts_file1))
+  {?>
+<li>3: Test set predictions are being calculated.
+     <a href="cv_predictions_example.php?My_key=<?php print($keyval);?>">Refresh to update status</a>
+<br>
+</li>
+  <?php
+   } else if(file_exists($ts_file2)) {
+   ?>   
+<li>3: <a href="test_set_predictions_example.php?My_key=<?php print($keyval);?>" target='_self'>Test set predictions are available</a></li>
+  <?php
+    } else {
+  ?>
+  <li>3: <a href="test_set_predictions_example.php?My_key=<?php print($keyval);?>" target='_self'>Make predictions using a test data set</a></li>
+  <?php
+    }
+   ?>
+</ul>
+</p>
+</div>
+</body>
+</html>
diff --git a/sourcecodes/data/example1/Bqxcontinuous_input_orig.txt b/sourcecodes/data/example1/Bqxcontinuous_input_orig.txt
new file mode 100644
index 00000000..11f30f63
--- /dev/null
+++ b/sourcecodes/data/example1/Bqxcontinuous_input_orig.txt
@@ -0,0 +1,201 @@
+Geno1	Geno2	Trait1	Trait2	Trait3	Trait4	Trait5	Trait6
+2	2	0.46259	1.2692	-1.3164	-0.44096	0.5929	-0.75422
+1	1	-0.10011	-0.88834	1.6407	0.99972	0.31288	0.65602
+1	1	-1.0533	-0.55296	1.2715	1.3686	-0.19153	0.37361
+1	2	0.042371	0.13573	-0.72659	-0.66133	0.43157	-1.6715
+1	2	-0.68686	-1.6152	-0.95019	-1.2239	0.12319	-0.79155
+1	1	-0.4558	0.090877	0.94224	1.2354	-0.36356	0.34937
+1	1	0.237	-0.49002	1.8939	1.4399	0.033059	1.3229
+1	2	0.070265	0.22547	-1.4903	-0.069341	-0.16148	-0.01449
+1	1	-0.69146	-0.43461	1.1501	0.21205	-0.18087	0.32746
+1	1	0.31535	-0.9858	0.57816	0.35924	0.12866	1.0553
+2	1	1.2718	0.39314	0.6669	0.90002	-0.30206	1.3376
+1	1	1.1871	-0.45611	0.87227	0.31014	-0.092846	0.81278
+2	1	-1.0168	-0.44286	1.6933	0.72968	0.038808	0.81906
+2	2	-0.25313	0.52468	0.02823	-0.20984	-0.075809	-1.3591
+1	2	-0.58108	-0.3967	-0.11925	-0.61288	0.46778	0.090941
+1	2	-0.88043	-0.28187	-1.1645	-1.2543	-0.28951	-1.039
+1	2	0.54121	0.24395	-1.0043	-1.4483	-0.19839	-2.5407
+2	1	0.47375	1.1319	0.68553	1.035	0.44043	1.3011
+2	1	0.57785	0.69093	1.5941	1.6735	0.19981	0.50708
+1	2	-0.43989	0.0024131	-1.5405	-1.2304	-0.15382	-1.1058
+2	1	0.38035	-0.063535	1.1606	1.3124	-0.38043	0.6277
+1	2	0.70114	-0.41044	-0.39767	-1.5424	0.27477	-0.76183
+1	1	-0.9406	-0.20526	1.3302	1.097	0.16006	1.2988
+1	2	0.52122	0.064793	-0.031492	0.21696	-0.41979	-0.79123
+1	2	-0.53387	-0.71043	-0.52344	-1.5584	-0.09538	-1.5781
+1	1	0.49563	-0.58126	0.7747	1.274	0.19196	0.10624
+2	2	1.1499	1.879	0.43595	0.73474	0.045381	-0.88645
+1	2	0.40705	-0.37647	-0.19815	-1.5366	0.37167	-0.10553
+2	2	0.62526	0.043371	-0.64449	-0.44076	-0.4318	-0.91807
+1	1	-0.61788	-0.62414	0.3169	0.85091	-0.10135	0.79065
+1	1	0.18491	-1.5226	1.1149	0.75046	0.25948	0.42431
+2	2	0.86063	0.92883	-1.1584	-0.099858	-0.55095	-0.064129
+1	2	-0.28946	0.0057533	-0.95703	-0.44018	0.084268	-0.23718
+1	1	-0.073096	0.16452	1.4444	1.1452	0.46025	0.30452
+1	1	0.15637	-0.73137	0.585	-0.046911	0.43881	1.2888
+1	2	0.081142	-0.63691	-0.14883	0.66593	-0.13479	-0.22207
+1	1	0.10876	-0.23383	1.8314	1.3282	0.4362	0.90139
+1	2	-1.0582	-0.97152	-0.57118	-1.2617	0.17115	-0.060679
+2	2	-0.47421	-0.56819	-0.38775	0.035215	0.51982	-1.6309
+2	2	-0.10242	0.8127	0.41773	-1.1308	-0.30719	-0.80758
+1	1	-0.083462	-0.4565	1.1556	0.3299	0.087362	0.31349
+1	2	-0.98158	0.01727	-1.3281	-1.4474	0.54555	-0.10096
+1	1	-0.80604	-0.19415	1.4986	1.3386	-0.16367	0.68271
+1	1	0.80082	-0.57853	1.0716	0.94015	-0.54114	0.032172
+2	2	2.0456	0.97954	-0.45536	-0.14332	-0.25819	-1.0833
+1	1	-0.30148	0.20623	0.64194	0.76414	-0.59067	0.64326
+1	1	-0.55625	-0.26957	1.8447	1.6568	-0.38077	0.58831
+1	2	0.11898	0.80706	-0.025844	-0.57984	-0.23395	-1.1554
+1	2	-0.095497	-1.0637	-0.92583	-0.57928	0.23695	-0.42992
+2	2	0.066154	0.73037	-0.73622	-0.57047	0.39169	0.40928
+1	1	0.81522	0.11381	0.68971	0.29219	0.037792	0.81502
+1	1	-0.65356	-0.20182	0.92089	0.92298	-0.5417	0.49215
+1	1	-0.90826	-0.10979	1.3847	0.75954	-0.20255	0.32975
+1	2	-0.25671	-1.1903	-1.4241	-1.6058	-0.062549	-1.3981
+2	2	-1.8038	-1.4801	-0.94121	-1.6244	0.4817	-0.0029469
+1	2	0.12651	0.028719	-1.5818	-1.0266	0.19779	-0.36357
+1	1	-1.0658	-0.58443	0.68956	0.35467	0.11177	1.5243
+1	2	0.14729	-0.15111	-0.027639	-0.2899	0.11533	-0.60305
+2	2	-0.76889	0.87161	-0.83556	-1.1777	-0.21878	-0.98527
+2	2	0.12252	0.49068	-0.2557	-1.5816	0.25332	-0.78715
+1	1	-0.40287	0.26456	0.62208	0.60909	0.36074	0.092703
+2	1	-0.78301	1.4641	1.3162	1.9448	-0.10841	0.9618
+1	2	-0.25018	-0.32797	-1.113	-1.6123	0.6272	-1.2718
+2	1	0.15804	-0.18147	2.4571	0.59504	-0.34056	0.8691
+2	1	-0.582	0.25738	1.4075	0.92251	-0.40889	0.66381
+1	1	-0.26827	0.58632	0.51883	1.5745	-0.13818	1.0526
+1	2	0.13453	0.18218	-0.51676	-0.54166	-0.36636	-1.206
+2	1	1.1502	0.36164	1.9983	1.0809	0.11272	0.67683
+1	2	0.27812	0.46559	-1.6109	-0.91039	0.3803	-0.71802
+2	1	0.15292	0.61921	0.71009	1.3063	-0.35819	0.8661
+1	2	0.19902	0.48986	-1.4026	-0.8495	0.47158	0.0622
+2	1	0.4838	1.1096	1.4392	1.1438	0.34739	0.084004
+1	1	-0.63609	-0.35105	0.63581	1.1939	-0.062938	0.91353
+1	2	0.64203	-0.5095	-1.7792	-0.88803	0.43482	-0.66314
+1	1	-0.18434	-0.48157	0.69942	0.56942	-0.019967	0.50506
+1	1	0.10168	-1.0928	1.2144	0.28313	0.22159	0.54058
+1	1	-0.18578	-0.45336	1.5468	0.99679	0.11821	1.0476
+1	2	-0.60607	-1.1275	-0.90963	-0.69014	-0.33163	-1.2734
+1	1	-0.35353	-0.42708	0.78989	0.14094	-0.056632	0.80598
+1	1	-0.020221	-1.1235	1.9782	-0.041281	0.19857	1.2488
+1	1	1.2346	-0.37121	1.3325	1.1237	-0.027458	1.0044
+2	2	-0.54489	1.6812	-0.59836	-0.012441	0.41243	-0.58835
+2	1	-0.029577	2.1707	1.3285	1.2109	0.29684	0.90646
+2	2	0.70774	1.0606	-1.3996	-0.020914	-0.60955	-1.2187
+2	1	0.07926	0.52862	1.3994	0.54549	0.55303	0.16155
+1	1	0.041856	-0.92023	0.87269	-0.66601	-0.15945	0.1004
+1	2	0.17665	0.31945	-1.7756	-0.60442	0.020525	-1.0625
+1	1	-0.090238	-0.65111	0.56993	-0.4117	-0.19486	-0.18849
+1	2	0.059166	-0.47194	-0.69068	-0.41022	0.25867	-0.057175
+1	2	0.10473	0.66887	0.082035	-0.55975	-0.28439	-1.468
+1	1	-0.20937	-0.36621	0.09609	0.28164	0.24673	-0.11107
+1	2	-1.2678	0.22369	-0.42201	-0.70103	0.075915	-1.3347
+1	2	-0.35467	0.11166	-0.42144	-0.095223	-0.29936	-0.68322
+2	2	0.84875	1.24	-0.81217	0.084034	-0.32224	-1.6241
+2	1	-0.45939	1.3208	0.97993	1.2991	-0.015791	1.487
+1	2	-0.42254	-0.57928	-0.58529	-2.2375	0.51999	-0.79909
+2	1	0.32092	-0.13796	0.67098	0.24639	-0.36066	-0.032948
+1	2	-1.2408	-0.94836	0.026276	-0.37981	-0.02237	-0.38777
+2	2	0.20959	2.1466	-1.7027	-1.3169	-0.16515	-1.046
+2	2	-0.10482	1.3773	-1.2998	-0.014223	0.34065	-0.35362
+1	2	-0.66188	-1.2477	-0.62084	0.27682	0.1674	-0.8918
+1	1	-0.97246	-0.73017	1.3843	1.5549	0.1067	0.85754
+1	1	0.74567	-0.032694	1.1153	0.97318	-0.0033905	0.85059
+2	2	0.29324	-0.090608	-0.4945	-1.0484	-0.14987	-1.0141
+2	1	-0.86818	0.44948	1.8531	0.51896	-0.021141	1.8486
+1	2	0.362	-0.29749	-0.66525	0.21709	-0.15594	-1.4087
+1	2	-0.17675	0.36465	-0.45423	-1.262	0.22968	-1.246
+1	2	-0.34633	-0.16067	-1.2216	-1.3019	-0.040891	-1.2935
+1	2	0.44608	-0.57732	0.25606	-1.1664	0.54705	-0.19859
+1	2	0.45398	-0.55214	-0.33433	-0.085418	-0.10094	-0.48509
+1	2	0.12407	0.022419	-1.0312	-0.47727	0.20924	-1.2961
+1	1	-0.76644	-1.1794	1.2345	0.84756	0.1532	0.77648
+1	2	-0.10329	-0.53768	-0.67677	-0.58708	-0.014634	-0.036347
+1	1	0.2378	0.15372	0.49652	0.29193	0.19047	1.152
+1	2	0.024605	-0.38937	-0.89907	-0.42106	0.16921	-0.80893
+1	2	0.28812	0.26265	-0.94234	-0.88527	-0.49803	0.48254
+1	1	0.85086	0.11783	1.5014	1.2382	0.24441	1.3649
+2	2	0.86172	0.14894	-0.4846	-1.3488	-0.41844	-1.1372
+1	2	0.67971	-0.27488	-0.50687	-0.79153	-0.093399	-1.391
+1	1	-0.91977	-0.66099	0.5801	0.46587	-0.2263	1.43
+1	2	0.88213	-0.48674	-0.42406	-1.2762	0.28981	-1.0813
+2	1	-0.36583	0.51518	1.4491	1.4995	-0.073755	1.1218
+1	1	-0.54006	-0.59443	0.81263	0.65809	-0.15621	1.2508
+2	2	1.2125	-0.012648	-0.92657	-0.81972	-0.1536	-1.0176
+1	2	0.42493	0.34558	-1.7672	-1.3503	-0.045928	0.37449
+1	1	0.17097	-0.86593	-0.13424	1.0257	0.058014	0.91044
+2	1	-1.393	0.5338	1.8514	2.291	0.15305	0.30028
+1	1	-0.58552	-1.5337	1.5133	0.9976	0.64638	1.4428
+1	2	0.046272	-0.56387	-0.86063	-1.0462	0.014457	-1.3038
+1	2	0.34933	-0.16796	-0.27854	-0.27327	-0.0040928	-0.17912
+1	1	-1.0672	0.3979	1.208	0.50111	-0.013978	0.015097
+1	2	0.31052	-0.46723	-1.1237	0.59267	0.30978	-1.0169
+1	2	-0.55337	-0.42776	-0.12612	-0.41838	-0.56558	-0.58189
+2	2	0.3925	0.15644	-0.72963	-0.66601	-0.10837	-0.27787
+1	2	-0.48513	-1.4119	-0.16889	-0.19646	-0.068098	-0.084247
+2	2	0.16692	1.5447	-1.3064	-1.3338	-0.25668	-0.48832
+1	2	-0.36092	0.31518	-0.44815	-1.4019	-0.47505	-0.37187
+1	1	-1.8192	-0.57745	1.1304	0.262	-0.3595	0.58577
+1	1	-0.065383	0.07156	1.4931	2.3215	0.85149	1.4585
+2	1	-1.119	0.70896	1.0498	0.74334	0.75838	1.6107
+2	2	-0.17682	-0.21029	-0.74465	-0.83806	0.10827	-1.2829
+1	2	0.69834	-0.082402	0.64008	-0.83119	-0.26766	0.36961
+2	2	-0.28266	1.1929	-0.15174	0.098554	-0.33989	-0.6376
+2	2	1.5369	1.8434	0.0030761	-0.59703	0.14497	-1.5165
+1	2	0.35023	-0.28475	-0.93594	-1.0937	-0.46614	-2.188
+2	1	0.62308	1.0873	-0.0037182	0.86847	-0.48699	-0.10105
+1	1	-1.0408	-0.99866	2.0799	1.1634	0.092516	0.30401
+1	1	-0.87125	-0.88987	1.0278	1.0157	-0.23725	1.2377
+1	2	-0.020591	-0.03398	-0.024834	-1.3588	-0.045961	-0.89693
+1	1	0.9213	-0.57037	1.044	1.2994	0.046517	0.66563
+1	2	-0.87288	-0.96382	-0.704	-1.2184	0.046903	-0.30008
+1	2	0.77586	-0.34168	-0.09867	-0.37744	-0.24309	-0.13441
+2	1	0.19521	0.67595	1.4533	1.5115	0.19553	0.79596
+2	1	-1.3273	1.0891	1.2544	0.98928	0.045725	0.54963
+2	2	0.59176	0.65915	-0.84578	-0.080229	-0.26961	0.24045
+1	2	-0.66958	-1.042	-1.2138	-0.7612	-0.22775	-0.40062
+1	2	1.1154	-0.57069	-0.6592	-2.1961	-0.013175	0.46007
+1	2	-0.5254	0.0031225	-0.77758	0.8169	0.13224	-0.65572
+2	1	0.24551	1.5078	0.10719	1.1454	0.70578	0.59051
+1	2	0.29875	-0.11455	-1.0497	-0.77881	0.080708	-0.48337
+1	1	-0.1047	0.011628	1.2504	0.41776	-0.20102	1.2252
+1	2	0.44808	-0.8165	-0.080134	-0.49618	0.051011	-0.71722
+2	1	2.0365	1.5592	1.3257	1.2472	-0.47899	0.10943
+1	1	-0.16507	-0.66011	0.98739	0.58519	0.245	-0.43277
+1	2	-0.028366	-0.16961	-1.3266	0.14248	-0.24634	-1.1154
+2	1	0.92842	1.8842	1.3169	1.0358	-0.20988	0.88021
+2	2	0.33158	0.32463	-0.50924	0.40233	0.54391	-0.24309
+1	2	1.2555	0.1928	-0.487	0.048779	-0.23483	-1.477
+2	1	0.75021	0.85943	-0.2323	0.10748	-0.68906	0.84276
+2	2	0.6297	1.7397	-1.6136	-0.43268	-0.21442	-0.77462
+2	1	0.53168	1.0807	1.0853	0.62304	0.44036	0.48087
+1	2	-0.31256	-0.69771	-0.88556	-1.333	0.038614	-1.5744
+1	2	-0.039695	-0.52447	0.91401	-0.93272	0.53434	-0.080746
+2	1	-0.16596	0.56821	0.76008	0.45442	0.10286	0.6539
+1	2	-0.4331	-0.89669	-1.3097	-1.2157	0.1065	-0.8512
+1	2	-0.34708	-0.51457	-1.012	-0.39437	-0.55374	-1.144
+2	2	0.024082	0.7128	-1.3702	-1.4492	-0.10228	-0.59071
+1	2	-0.0037109	-0.68845	-0.649	-0.91581	0.066805	-0.98583
+2	1	0.68706	0.067424	0.87139	0.7938	-0.099645	1.529
+2	2	-0.31183	0.57814	-0.80815	-0.66724	-0.31919	-0.61319
+1	2	-0.11153	-0.6246	-0.27979	-0.18363	0.83639	0.014919
+2	2	0.20406	1.5838	-0.96334	-1.1228	-0.17808	-1.2123
+2	2	-0.1134	0.63358	-0.53321	-0.84276	-0.27657	-0.36992
+1	2	0.25517	0.67006	-0.1349	0.18275	0.40982	-0.62487
+1	1	-1.2684	0.31042	0.91155	0.66143	0.2483	-0.12434
+1	1	-0.97542	-0.85419	0.7663	0.16362	-0.18737	0.67266
+1	2	-0.043882	-0.62746	-0.82816	-0.40626	-0.051048	-0.61297
+1	1	0.59605	-0.45852	1.2962	0.78156	-0.48154	0.17778
+2	2	-0.06266	1.1144	-0.80524	-0.3189	-0.16038	-0.96372
+1	2	-1.1821	1.0798	-1.3407	-0.52643	0.12458	-0.7871
+2	2	0.59446	0.89186	-0.97856	-0.64658	0.2712	-1.5538
+1	2	0.15067	0.41827	-1.0487	-1.0551	0.19143	-1.4537
+1	2	-1.073	0.022587	-1.7088	-1.3777	0.1964	-0.84025
+2	1	0.20928	1.8026	1.2073	2.78	0.15131	0.3448
+1	2	-1.1317	-0.6359	-0.70457	-1.676	-0.22886	-0.58769
+1	1	-0.039428	-0.58746	0.56	0.7896	-0.052581	0.99511
+1	2	0.55023	-0.20403	0.138	-0.70518	0.66927	-0.28861
+2	2	0.57423	1.1886	0.092876	0.025677	-0.41099	-1.2858
+2	2	-0.14179	1.5827	-0.94328	0.7703	-0.43967	-0.50448
+2	2	0.14666	1.0492	-0.0030259	-0.62418	-0.087515	-0.048386
diff --git a/sourcecodes/data/example2/hQGcontinuous_input_orig.txt b/sourcecodes/data/example2/hQGcontinuous_input_orig.txt
new file mode 100644
index 00000000..11f30f63
--- /dev/null
+++ b/sourcecodes/data/example2/hQGcontinuous_input_orig.txt
@@ -0,0 +1,201 @@
+Geno1	Geno2	Trait1	Trait2	Trait3	Trait4	Trait5	Trait6
+2	2	0.46259	1.2692	-1.3164	-0.44096	0.5929	-0.75422
+1	1	-0.10011	-0.88834	1.6407	0.99972	0.31288	0.65602
+1	1	-1.0533	-0.55296	1.2715	1.3686	-0.19153	0.37361
+1	2	0.042371	0.13573	-0.72659	-0.66133	0.43157	-1.6715
+1	2	-0.68686	-1.6152	-0.95019	-1.2239	0.12319	-0.79155
+1	1	-0.4558	0.090877	0.94224	1.2354	-0.36356	0.34937
+1	1	0.237	-0.49002	1.8939	1.4399	0.033059	1.3229
+1	2	0.070265	0.22547	-1.4903	-0.069341	-0.16148	-0.01449
+1	1	-0.69146	-0.43461	1.1501	0.21205	-0.18087	0.32746
+1	1	0.31535	-0.9858	0.57816	0.35924	0.12866	1.0553
+2	1	1.2718	0.39314	0.6669	0.90002	-0.30206	1.3376
+1	1	1.1871	-0.45611	0.87227	0.31014	-0.092846	0.81278
+2	1	-1.0168	-0.44286	1.6933	0.72968	0.038808	0.81906
+2	2	-0.25313	0.52468	0.02823	-0.20984	-0.075809	-1.3591
+1	2	-0.58108	-0.3967	-0.11925	-0.61288	0.46778	0.090941
+1	2	-0.88043	-0.28187	-1.1645	-1.2543	-0.28951	-1.039
+1	2	0.54121	0.24395	-1.0043	-1.4483	-0.19839	-2.5407
+2	1	0.47375	1.1319	0.68553	1.035	0.44043	1.3011
+2	1	0.57785	0.69093	1.5941	1.6735	0.19981	0.50708
+1	2	-0.43989	0.0024131	-1.5405	-1.2304	-0.15382	-1.1058
+2	1	0.38035	-0.063535	1.1606	1.3124	-0.38043	0.6277
+1	2	0.70114	-0.41044	-0.39767	-1.5424	0.27477	-0.76183
+1	1	-0.9406	-0.20526	1.3302	1.097	0.16006	1.2988
+1	2	0.52122	0.064793	-0.031492	0.21696	-0.41979	-0.79123
+1	2	-0.53387	-0.71043	-0.52344	-1.5584	-0.09538	-1.5781
+1	1	0.49563	-0.58126	0.7747	1.274	0.19196	0.10624
+2	2	1.1499	1.879	0.43595	0.73474	0.045381	-0.88645
+1	2	0.40705	-0.37647	-0.19815	-1.5366	0.37167	-0.10553
+2	2	0.62526	0.043371	-0.64449	-0.44076	-0.4318	-0.91807
+1	1	-0.61788	-0.62414	0.3169	0.85091	-0.10135	0.79065
+1	1	0.18491	-1.5226	1.1149	0.75046	0.25948	0.42431
+2	2	0.86063	0.92883	-1.1584	-0.099858	-0.55095	-0.064129
+1	2	-0.28946	0.0057533	-0.95703	-0.44018	0.084268	-0.23718
+1	1	-0.073096	0.16452	1.4444	1.1452	0.46025	0.30452
+1	1	0.15637	-0.73137	0.585	-0.046911	0.43881	1.2888
+1	2	0.081142	-0.63691	-0.14883	0.66593	-0.13479	-0.22207
+1	1	0.10876	-0.23383	1.8314	1.3282	0.4362	0.90139
+1	2	-1.0582	-0.97152	-0.57118	-1.2617	0.17115	-0.060679
+2	2	-0.47421	-0.56819	-0.38775	0.035215	0.51982	-1.6309
+2	2	-0.10242	0.8127	0.41773	-1.1308	-0.30719	-0.80758
+1	1	-0.083462	-0.4565	1.1556	0.3299	0.087362	0.31349
+1	2	-0.98158	0.01727	-1.3281	-1.4474	0.54555	-0.10096
+1	1	-0.80604	-0.19415	1.4986	1.3386	-0.16367	0.68271
+1	1	0.80082	-0.57853	1.0716	0.94015	-0.54114	0.032172
+2	2	2.0456	0.97954	-0.45536	-0.14332	-0.25819	-1.0833
+1	1	-0.30148	0.20623	0.64194	0.76414	-0.59067	0.64326
+1	1	-0.55625	-0.26957	1.8447	1.6568	-0.38077	0.58831
+1	2	0.11898	0.80706	-0.025844	-0.57984	-0.23395	-1.1554
+1	2	-0.095497	-1.0637	-0.92583	-0.57928	0.23695	-0.42992
+2	2	0.066154	0.73037	-0.73622	-0.57047	0.39169	0.40928
+1	1	0.81522	0.11381	0.68971	0.29219	0.037792	0.81502
+1	1	-0.65356	-0.20182	0.92089	0.92298	-0.5417	0.49215
+1	1	-0.90826	-0.10979	1.3847	0.75954	-0.20255	0.32975
+1	2	-0.25671	-1.1903	-1.4241	-1.6058	-0.062549	-1.3981
+2	2	-1.8038	-1.4801	-0.94121	-1.6244	0.4817	-0.0029469
+1	2	0.12651	0.028719	-1.5818	-1.0266	0.19779	-0.36357
+1	1	-1.0658	-0.58443	0.68956	0.35467	0.11177	1.5243
+1	2	0.14729	-0.15111	-0.027639	-0.2899	0.11533	-0.60305
+2	2	-0.76889	0.87161	-0.83556	-1.1777	-0.21878	-0.98527
+2	2	0.12252	0.49068	-0.2557	-1.5816	0.25332	-0.78715
+1	1	-0.40287	0.26456	0.62208	0.60909	0.36074	0.092703
+2	1	-0.78301	1.4641	1.3162	1.9448	-0.10841	0.9618
+1	2	-0.25018	-0.32797	-1.113	-1.6123	0.6272	-1.2718
+2	1	0.15804	-0.18147	2.4571	0.59504	-0.34056	0.8691
+2	1	-0.582	0.25738	1.4075	0.92251	-0.40889	0.66381
+1	1	-0.26827	0.58632	0.51883	1.5745	-0.13818	1.0526
+1	2	0.13453	0.18218	-0.51676	-0.54166	-0.36636	-1.206
+2	1	1.1502	0.36164	1.9983	1.0809	0.11272	0.67683
+1	2	0.27812	0.46559	-1.6109	-0.91039	0.3803	-0.71802
+2	1	0.15292	0.61921	0.71009	1.3063	-0.35819	0.8661
+1	2	0.19902	0.48986	-1.4026	-0.8495	0.47158	0.0622
+2	1	0.4838	1.1096	1.4392	1.1438	0.34739	0.084004
+1	1	-0.63609	-0.35105	0.63581	1.1939	-0.062938	0.91353
+1	2	0.64203	-0.5095	-1.7792	-0.88803	0.43482	-0.66314
+1	1	-0.18434	-0.48157	0.69942	0.56942	-0.019967	0.50506
+1	1	0.10168	-1.0928	1.2144	0.28313	0.22159	0.54058
+1	1	-0.18578	-0.45336	1.5468	0.99679	0.11821	1.0476
+1	2	-0.60607	-1.1275	-0.90963	-0.69014	-0.33163	-1.2734
+1	1	-0.35353	-0.42708	0.78989	0.14094	-0.056632	0.80598
+1	1	-0.020221	-1.1235	1.9782	-0.041281	0.19857	1.2488
+1	1	1.2346	-0.37121	1.3325	1.1237	-0.027458	1.0044
+2	2	-0.54489	1.6812	-0.59836	-0.012441	0.41243	-0.58835
+2	1	-0.029577	2.1707	1.3285	1.2109	0.29684	0.90646
+2	2	0.70774	1.0606	-1.3996	-0.020914	-0.60955	-1.2187
+2	1	0.07926	0.52862	1.3994	0.54549	0.55303	0.16155
+1	1	0.041856	-0.92023	0.87269	-0.66601	-0.15945	0.1004
+1	2	0.17665	0.31945	-1.7756	-0.60442	0.020525	-1.0625
+1	1	-0.090238	-0.65111	0.56993	-0.4117	-0.19486	-0.18849
+1	2	0.059166	-0.47194	-0.69068	-0.41022	0.25867	-0.057175
+1	2	0.10473	0.66887	0.082035	-0.55975	-0.28439	-1.468
+1	1	-0.20937	-0.36621	0.09609	0.28164	0.24673	-0.11107
+1	2	-1.2678	0.22369	-0.42201	-0.70103	0.075915	-1.3347
+1	2	-0.35467	0.11166	-0.42144	-0.095223	-0.29936	-0.68322
+2	2	0.84875	1.24	-0.81217	0.084034	-0.32224	-1.6241
+2	1	-0.45939	1.3208	0.97993	1.2991	-0.015791	1.487
+1	2	-0.42254	-0.57928	-0.58529	-2.2375	0.51999	-0.79909
+2	1	0.32092	-0.13796	0.67098	0.24639	-0.36066	-0.032948
+1	2	-1.2408	-0.94836	0.026276	-0.37981	-0.02237	-0.38777
+2	2	0.20959	2.1466	-1.7027	-1.3169	-0.16515	-1.046
+2	2	-0.10482	1.3773	-1.2998	-0.014223	0.34065	-0.35362
+1	2	-0.66188	-1.2477	-0.62084	0.27682	0.1674	-0.8918
+1	1	-0.97246	-0.73017	1.3843	1.5549	0.1067	0.85754
+1	1	0.74567	-0.032694	1.1153	0.97318	-0.0033905	0.85059
+2	2	0.29324	-0.090608	-0.4945	-1.0484	-0.14987	-1.0141
+2	1	-0.86818	0.44948	1.8531	0.51896	-0.021141	1.8486
+1	2	0.362	-0.29749	-0.66525	0.21709	-0.15594	-1.4087
+1	2	-0.17675	0.36465	-0.45423	-1.262	0.22968	-1.246
+1	2	-0.34633	-0.16067	-1.2216	-1.3019	-0.040891	-1.2935
+1	2	0.44608	-0.57732	0.25606	-1.1664	0.54705	-0.19859
+1	2	0.45398	-0.55214	-0.33433	-0.085418	-0.10094	-0.48509
+1	2	0.12407	0.022419	-1.0312	-0.47727	0.20924	-1.2961
+1	1	-0.76644	-1.1794	1.2345	0.84756	0.1532	0.77648
+1	2	-0.10329	-0.53768	-0.67677	-0.58708	-0.014634	-0.036347
+1	1	0.2378	0.15372	0.49652	0.29193	0.19047	1.152
+1	2	0.024605	-0.38937	-0.89907	-0.42106	0.16921	-0.80893
+1	2	0.28812	0.26265	-0.94234	-0.88527	-0.49803	0.48254
+1	1	0.85086	0.11783	1.5014	1.2382	0.24441	1.3649
+2	2	0.86172	0.14894	-0.4846	-1.3488	-0.41844	-1.1372
+1	2	0.67971	-0.27488	-0.50687	-0.79153	-0.093399	-1.391
+1	1	-0.91977	-0.66099	0.5801	0.46587	-0.2263	1.43
+1	2	0.88213	-0.48674	-0.42406	-1.2762	0.28981	-1.0813
+2	1	-0.36583	0.51518	1.4491	1.4995	-0.073755	1.1218
+1	1	-0.54006	-0.59443	0.81263	0.65809	-0.15621	1.2508
+2	2	1.2125	-0.012648	-0.92657	-0.81972	-0.1536	-1.0176
+1	2	0.42493	0.34558	-1.7672	-1.3503	-0.045928	0.37449
+1	1	0.17097	-0.86593	-0.13424	1.0257	0.058014	0.91044
+2	1	-1.393	0.5338	1.8514	2.291	0.15305	0.30028
+1	1	-0.58552	-1.5337	1.5133	0.9976	0.64638	1.4428
+1	2	0.046272	-0.56387	-0.86063	-1.0462	0.014457	-1.3038
+1	2	0.34933	-0.16796	-0.27854	-0.27327	-0.0040928	-0.17912
+1	1	-1.0672	0.3979	1.208	0.50111	-0.013978	0.015097
+1	2	0.31052	-0.46723	-1.1237	0.59267	0.30978	-1.0169
+1	2	-0.55337	-0.42776	-0.12612	-0.41838	-0.56558	-0.58189
+2	2	0.3925	0.15644	-0.72963	-0.66601	-0.10837	-0.27787
+1	2	-0.48513	-1.4119	-0.16889	-0.19646	-0.068098	-0.084247
+2	2	0.16692	1.5447	-1.3064	-1.3338	-0.25668	-0.48832
+1	2	-0.36092	0.31518	-0.44815	-1.4019	-0.47505	-0.37187
+1	1	-1.8192	-0.57745	1.1304	0.262	-0.3595	0.58577
+1	1	-0.065383	0.07156	1.4931	2.3215	0.85149	1.4585
+2	1	-1.119	0.70896	1.0498	0.74334	0.75838	1.6107
+2	2	-0.17682	-0.21029	-0.74465	-0.83806	0.10827	-1.2829
+1	2	0.69834	-0.082402	0.64008	-0.83119	-0.26766	0.36961
+2	2	-0.28266	1.1929	-0.15174	0.098554	-0.33989	-0.6376
+2	2	1.5369	1.8434	0.0030761	-0.59703	0.14497	-1.5165
+1	2	0.35023	-0.28475	-0.93594	-1.0937	-0.46614	-2.188
+2	1	0.62308	1.0873	-0.0037182	0.86847	-0.48699	-0.10105
+1	1	-1.0408	-0.99866	2.0799	1.1634	0.092516	0.30401
+1	1	-0.87125	-0.88987	1.0278	1.0157	-0.23725	1.2377
+1	2	-0.020591	-0.03398	-0.024834	-1.3588	-0.045961	-0.89693
+1	1	0.9213	-0.57037	1.044	1.2994	0.046517	0.66563
+1	2	-0.87288	-0.96382	-0.704	-1.2184	0.046903	-0.30008
+1	2	0.77586	-0.34168	-0.09867	-0.37744	-0.24309	-0.13441
+2	1	0.19521	0.67595	1.4533	1.5115	0.19553	0.79596
+2	1	-1.3273	1.0891	1.2544	0.98928	0.045725	0.54963
+2	2	0.59176	0.65915	-0.84578	-0.080229	-0.26961	0.24045
+1	2	-0.66958	-1.042	-1.2138	-0.7612	-0.22775	-0.40062
+1	2	1.1154	-0.57069	-0.6592	-2.1961	-0.013175	0.46007
+1	2	-0.5254	0.0031225	-0.77758	0.8169	0.13224	-0.65572
+2	1	0.24551	1.5078	0.10719	1.1454	0.70578	0.59051
+1	2	0.29875	-0.11455	-1.0497	-0.77881	0.080708	-0.48337
+1	1	-0.1047	0.011628	1.2504	0.41776	-0.20102	1.2252
+1	2	0.44808	-0.8165	-0.080134	-0.49618	0.051011	-0.71722
+2	1	2.0365	1.5592	1.3257	1.2472	-0.47899	0.10943
+1	1	-0.16507	-0.66011	0.98739	0.58519	0.245	-0.43277
+1	2	-0.028366	-0.16961	-1.3266	0.14248	-0.24634	-1.1154
+2	1	0.92842	1.8842	1.3169	1.0358	-0.20988	0.88021
+2	2	0.33158	0.32463	-0.50924	0.40233	0.54391	-0.24309
+1	2	1.2555	0.1928	-0.487	0.048779	-0.23483	-1.477
+2	1	0.75021	0.85943	-0.2323	0.10748	-0.68906	0.84276
+2	2	0.6297	1.7397	-1.6136	-0.43268	-0.21442	-0.77462
+2	1	0.53168	1.0807	1.0853	0.62304	0.44036	0.48087
+1	2	-0.31256	-0.69771	-0.88556	-1.333	0.038614	-1.5744
+1	2	-0.039695	-0.52447	0.91401	-0.93272	0.53434	-0.080746
+2	1	-0.16596	0.56821	0.76008	0.45442	0.10286	0.6539
+1	2	-0.4331	-0.89669	-1.3097	-1.2157	0.1065	-0.8512
+1	2	-0.34708	-0.51457	-1.012	-0.39437	-0.55374	-1.144
+2	2	0.024082	0.7128	-1.3702	-1.4492	-0.10228	-0.59071
+1	2	-0.0037109	-0.68845	-0.649	-0.91581	0.066805	-0.98583
+2	1	0.68706	0.067424	0.87139	0.7938	-0.099645	1.529
+2	2	-0.31183	0.57814	-0.80815	-0.66724	-0.31919	-0.61319
+1	2	-0.11153	-0.6246	-0.27979	-0.18363	0.83639	0.014919
+2	2	0.20406	1.5838	-0.96334	-1.1228	-0.17808	-1.2123
+2	2	-0.1134	0.63358	-0.53321	-0.84276	-0.27657	-0.36992
+1	2	0.25517	0.67006	-0.1349	0.18275	0.40982	-0.62487
+1	1	-1.2684	0.31042	0.91155	0.66143	0.2483	-0.12434
+1	1	-0.97542	-0.85419	0.7663	0.16362	-0.18737	0.67266
+1	2	-0.043882	-0.62746	-0.82816	-0.40626	-0.051048	-0.61297
+1	1	0.59605	-0.45852	1.2962	0.78156	-0.48154	0.17778
+2	2	-0.06266	1.1144	-0.80524	-0.3189	-0.16038	-0.96372
+1	2	-1.1821	1.0798	-1.3407	-0.52643	0.12458	-0.7871
+2	2	0.59446	0.89186	-0.97856	-0.64658	0.2712	-1.5538
+1	2	0.15067	0.41827	-1.0487	-1.0551	0.19143	-1.4537
+1	2	-1.073	0.022587	-1.7088	-1.3777	0.1964	-0.84025
+2	1	0.20928	1.8026	1.2073	2.78	0.15131	0.3448
+1	2	-1.1317	-0.6359	-0.70457	-1.676	-0.22886	-0.58769
+1	1	-0.039428	-0.58746	0.56	0.7896	-0.052581	0.99511
+1	2	0.55023	-0.20403	0.138	-0.70518	0.66927	-0.28861
+2	2	0.57423	1.1886	0.092876	0.025677	-0.41099	-1.2858
+2	2	-0.14179	1.5827	-0.94328	0.7703	-0.43967	-0.50448
+2	2	0.14666	1.0492	-0.0030259	-0.62418	-0.087515	-0.048386
diff --git a/sourcecodes/data/example_chl/bWRcontinuous_input_orig.txt b/sourcecodes/data/example_chl/bWRcontinuous_input_orig.txt
new file mode 100644
index 00000000..62705bb9
--- /dev/null
+++ b/sourcecodes/data/example_chl/bWRcontinuous_input_orig.txt
@@ -0,0 +1,42 @@
+Ctrq3	MAS	Neutrophil	Load	Weight
+2	0.969230769	3	3.252367514	1
+2	0.925170068	1.6	2.46322088	1.033472803
+1	0.427272727	33.8	4.206610024	0.831372549
+2	0.877835951	8.3	3.764250875	0.967153285
+2	0.914862915	4.4	3.691700208	1.046025105
+2	0.560334528	4.9	2.604550033	0.98046875
+1	0.383073497	13.1	4.273556814	0.812316716
+1	0.101010101	18.6	5.089640217	0.771929825
+1	0.106719368	18.9	4.915125346	0.80994152
+2	0.894736842	2.5	2.691700208	0.995515695
+1	0.067226891	19.8	4.878194228	0.846153846
+2	0.921022067	2.9	4.127428778	1.03875969
+2	0.938701923	0.7	4.366310867	0.984732824
+1	0.658008658	15.7	4.531121115	0.884210526
+2	0.9	4.8	2.604550033	0.913194444
+2	0.790923825	10.4	2.390670213	0.892857143
+1	0.295539033	8.6	4.24137213	0.85840708
+2	0.317757009	12.2	4.449648073	0.889830508
+1	0.032418953	20.2	5.053428044	0.811320755
+1	0.603960396	23.4	4.283775979	0.805460751
+2	0.939351199	3.6	2.349277527	0.952380952
+1	0.978448276	0.4	3.495405563	0.8875
+1	0.1	23.2	4.675613388	0.766101695
+1	0.036363636	32.6	4.938109253	0.828125
+1	0.660247593	9.2	3.826398782	0.921052632
+1	0.078651685	35.8	4.513630383	0.852112676
+1	0.186915888	20.7	5.048247532	0.779761905
+1	0.071578947	35.6	4.574586809	0.797356828
+1	0.239520958	15.4	4.331548761	0.941176471
+1	0.205741627	24.5	5.058547488	0.774193548
+1	0.062300319	13.4	4.594790195	0.832236842
+2	0.599675851	5	4.18178644	0.969348659
+1	0.324246772	13.5	4.252367514	0.858585859
+1	0.87628866	14.2	2.929061124	0.869863014
+1	0.146103896	15.6	4.579726449	0.9
+1	0.257383966	22.5	5.210214148	0.75
+1	0.033333333	31.1	4.632578756	0.718644068
+1	0.29739777	36.1	3.880756445	0.798353909
+2	0.872979215	4.2	4.097465554	0.856756757
+2	0.909221902	4.3	3.650307523	0.976
+1	0.10041841	28.3	4.46322088	0.757462687
diff --git a/sourcecodes/data/example_chr2_spleen/cuLcontinuous_input_orig.txt b/sourcecodes/data/example_chr2_spleen/cuLcontinuous_input_orig.txt
new file mode 100644
index 00000000..4b164198
--- /dev/null
+++ b/sourcecodes/data/example_chr2_spleen/cuLcontinuous_input_orig.txt
@@ -0,0 +1,74 @@
+rs3664317	Oas1a	Parp9	Dhx58	Cd1d1	Irf7	Oas3	Pml	Mx1	Ifit1	Trim25	Oas1g	Pglyrp3	Ifih1
+1	8.34	9.812	8.774	9.79	9.663	8.27	11.036	7.284	8.286	10.395	8.521	6.186	8.83
+1	8.368	9.738	8.566	9.144	9.484	8.818	11.03	6.977	8.294	10.076	8.529	5.968	8.828
+1	8.178	9.57	8.726	9.575	10.106	8.99	10.878	7.205	8.676	10.036	8.61	5.976	9.024
+1	8.116	9.901	8.904	9.959	9.793	8.336	11.105	7.598	8.316	10.292	8.401	5.814	8.836
+2	8.099	9.68	8.876	10.116	9.771	8.379	11.028	7.438	8.541	10.215	8.32	5.917	9.073
+1	8.262	9.59	8.24	10.088	8.938	7.832	10.486	6.752	7.825	9.908	8.196	6.15	8.446
+1	7.915	9.415	8.308	9.707	9.12	8.702	11.102	7.208	8.243	10.034	7.897	6.06	8.892
+2	8.565	10.002	8.96	9.779	10.322	9.24	11.278	7.644	8.893	10.42	8.773	5.914	9.407
+1	8.189	9.774	8.541	9.939	9.134	7.819	10.766	7.122	8.352	10.113	8.492	6.269	9.055
+1	8.476	9.954	8.908	9.476	9.92	8.764	11.134	7.859	8.788	10.17	8.862	6.226	9.17
+2	8.119	9.946	8.876	9.578	10.02	8.734	11.244	7.85	8.838	10.557	8.56	5.98	9.353
+2	8.305	9.713	8.972	9.789	9.839	8.804	10.948	7.682	8.896	10.181	8.854	5.979	9.567
+2	8.654	10	9.306	9.439	10.457	9.223	10.922	7.082	8.942	10.131	9.162	6.01	9.74
+1	8.105	9.748	8.725	10.119	9.782	8.575	11.113	7.63	8.674	10.355	8.59	6.279	8.908
+1	8.247	9.715	8.829	9.646	9.953	9.668	11.112	7.384	9.221	10.19	8.64	6	9.552
+1	8.511	9.994	9.014	9.89	10.266	8.444	10.599	7.331	9.153	10.012	8.837	6.148	9.023
+2	8.947	10.28	9.483	9.398	11.23	9.86	11.324	8.006	9.772	10.524	9.587	5.865	10.067
+1	8.526	9.685	8.921	9.7	10.126	9.373	11.121	7.497	9.003	10.357	8.156	6.334	9.678
+2	8.06	9.745	9.092	9.278	10.231	8.976	10.998	7.578	9.145	10.283	8.611	6.168	9.413
+2	7.93	9.728	8.694	9.512	9.826	9.016	11.276	7.604	8.767	10.378	8.577	5.963	9.264
+2	8.511	9.686	9.014	8.982	10.508	10.108	11.304	7.441	9.133	10.341	9.04	6.2	9.974
+2	8.645	9.997	8.97	9.443	10.393	9.302	11.409	7.785	8.894	10.552	9.051	5.997	9.412
+2	8.293	9.802	9.001	9.524	10.156	9.263	11.212	7.772	8.581	10.433	8.514	6.093	9.177
+1	7.781	9.712	8.97	9.375	10.12	9.484	11.317	7.347	8.972	10.393	8.352	6.193	9.587
+2	8.465	9.88	8.913	9.816	9.965	8.852	11.138	7.537	8.625	10.426	8.617	6.044	9.556
+2	8.657	10.026	9.189	9.691	10.302	9.268	11.194	7.634	9.143	10.378	9.05	6.067	9.679
+2	7.634	9.606	8.36	9.465	8.41	8.605	11.183	6.942	8.174	9.952	7.478	6.09	9.535
+1	7.669	9.494	8.779	9.552	9.362	8.52	11.024	7.131	8.378	10.391	8.114	6.07	8.851
+2	8.618	10.212	9.433	9.672	10.442	9.21	11.328	8.045	9.322	10.5	9.128	5.994	9.656
+2	8.731	10.27	9.342	9.43	10.697	10.117	11.286	7.749	9.734	10.464	9.322	6.156	9.876
+1	7.554	9.524	8.759	9.93	9.52	8.279	10.82	7.32	8.316	10.31	8.186	6.068	9.046
+1	8.262	9.677	8.75	9.444	10.052	8.634	10.888	7.32	8.562	9.893	8.644	6.212	8.918
+1	7.823	9.628	8.66	9.529	9.578	8.736	11.206	7.171	8.408	10.062	8.111	5.838	9.033
+1	8.28	9.572	8.784	9.428	9.862	9.424	11.27	7.288	8.505	10.174	8.642	6.022	9.313
+2	9.09	10.053	9.599	9.469	11.004	9.882	11.436	8.521	9.814	10.562	9.704	6.044	10.061
+1	8.446	9.989	9.297	9.688	10.577	9.129	11.102	7.718	9.484	10.231	9.072	6.17	9.21
+1	8.668	9.858	9.195	9.385	10.695	9.249	11.028	7.765	9.367	10.319	9.179	6.136	9.563
+2	8.574	10.059	9.281	9.233	10.508	9.247	11.145	8.138	9.505	10.402	9.192	5.992	9.848
+2	8.523	10.052	9.131	9.507	10.418	9.413	11.187	7.641	9.304	10.465	9.063	6.095	9.733
+1	7.987	9.748	8.766	9.578	9.781	8.482	11.279	7.52	8.364	10.141	8.207	6.192	9.133
+2	8.466	9.429	8.946	9.395	9.715	9.071	11.388	7.592	8.078	10.32	8.326	6.108	9.021
+1	7.668	9.694	8.493	10.112	9.561	8.394	10.922	7.26	8.19	10.27	7.916	5.892	8.974
+2	8.379	10.037	9.155	9.683	10.281	9.2	10.913	7.173	9.404	10.381	9.097	6.099	9.714
+2	7.805	9.654	8.454	9.198	10.065	9.468	11.217	6.917	8.43	10.459	8.11	6.068	9.068
+1	7.981	9.8	8.553	9.946	9.862	8.901	11.085	7.214	8.393	10.373	8.19	6.05	9.015
+1	7.746	9.688	8.578	9.901	9.358	7.866	10.928	7.354	7.929	10.233	8.066	5.754	8.883
+1	7.997	9.859	8.795	9.867	9.817	8.734	11.109	7.416	8.67	10.247	8.176	6.143	9.081
+1	8.674	9.689	9.06	9.81	10.544	8.995	11.189	7.781	9.219	10.07	8.98	5.992	9.143
+1	8.088	9.49	8.676	9.456	10.184	8.737	10.998	7.222	8.538	10.192	8.441	6.147	8.55
+1	8.001	9.801	8.669	9.977	9.383	8.274	11.055	7.231	7.913	10.272	8.277	5.931	9.009
+2	8.218	9.458	8.781	9.214	9.66	8.87	10.738	7.241	8.289	10.029	8.612	6.125	9.38
+1	7.684	9.56	8.75	10.077	9.686	8.27	11.102	7.206	8.13	10.212	8.07	6.018	8.984
+2	8.326	9.696	8.88	9.714	10.014	9.08	11.055	7.256	8.494	10.054	8.63	6.177	9.162
+2	8.906	10.106	9.412	9.704	11.06	9.854	11.335	7.799	10.103	10.471	9.25	6.033	9.97
+1	8.073	9.793	8.626	9.879	9.262	8.408	10.844	7.108	8.368	9.959	8.261	6.052	8.916
+2	8.527	10.026	9.143	9.244	10.597	9.566	11.108	7.778	9.748	10.351	9.153	6.055	9.698
+2	8.614	10.05	9.202	9.508	10.66	9.63	11.156	7.758	9.789	10.324	9.068	6.15	9.948
+2	8.522	10.158	8.992	9.684	9.992	8.55	11.125	7.914	8.976	10.311	8.574	5.889	9.566
+1	8.086	9.6	8.522	9.544	9.641	8.514	10.99	7.386	8.506	10.194	8.234	6.02	8.736
+1	7.873	9.596	8.452	9.422	9.278	8.509	10.958	7.057	8.081	9.981	7.969	6.136	8.958
+2	8.371	9.99	8.949	9.931	10.195	8.935	10.83	7.694	9.183	10.493	9.124	6.128	9.396
+2	8.476	9.982	9.115	9.639	10.465	9.833	11.105	8.058	9.9	10.351	9.182	6.05	9.884
+1	8.512	9.995	8.846	9.951	9.561	8.558	10.769	7.584	8.901	10.139	8.769	5.959	9.203
+1	8.358	9.858	8.99	9.981	10.123	9.368	10.989	7.463	9.327	9.93	8.54	6.02	9.543
+1	8.23	9.614	8.806	9.919	9.939	9.108	11.184	7.766	8.793	10.174	8.605	5.972	9.068
+2	8.238	9.802	8.926	9.595	10.062	8.77	11.202	7.712	9.131	10.34	8.57	6.05	9.464
+1	8.533	10.108	9.083	10.214	10.514	8.463	11.008	7.356	9.344	10.196	8.736	6.262	9.257
+1	7.866	9.444	8.223	9.865	8.95	8.539	10.935	6.754	7.748	10.177	7.826	6.29	8.716
+2	8.888	10.031	9.158	9.407	10.8	9.547	11.238	7.659	9.602	10.398	9.337	6.028	9.529
+1	8.026	9.682	8.398	9.824	9.202	8.041	10.703	7.322	8.352	10.209	8.196	6.009	9.001
+2	8.974	10.071	9.451	9.348	11.061	9.686	11.255	8.077	10.101	10.323	9.557	6.006	10.072
+1	8.181	9.432	9.045	9.544	10.651	9.18	10.832	7.419	8.742	9.818	8.546	6.33	9.201
+1	8.137	9.676	9.024	9.37	10.206	9.944	10.985	7.226	8.9	10.362	8.918	6.352	9.367
diff --git a/sourcecodes/data/example_sci/Llucontinuous_input_orig.txt b/sourcecodes/data/example_sci/Llucontinuous_input_orig.txt
new file mode 100644
index 00000000..aede2ad9
--- /dev/null
+++ b/sourcecodes/data/example_sci/Llucontinuous_input_orig.txt
@@ -0,0 +1,501 @@
+Genotype	Gene3	Gene2	Phenotype	Gene1
+2	-1.0008	-0.44837	0.21808	-1.196
+1	-0.29368	-0.53043	-1.0893	-0.10136
+2	0.70835	0.72886	-0.18098	-0.42907
+1	0.63703	0.86428	1.7013	0.1425
+1	-1.2402	-0.69712	-1.7002	-0.71634
+1	-1.1952	0.27155	-0.79413	-1.0965
+2	0.62914	0.94265	1.8385	0.6135
+1	-1.91	-2.379	-3.1094	-1.0924
+2	-0.83436	-0.90968	-1.3598	1.335
+1	0.15685	0.4766	1.2891	-1.3309
+2	0.7047	1.0623	1.9811	1.2821
+1	0.59747	-0.023123	0.88555	-0.8844
+1	-1.0557	-1.5548	-1.3016	-0.77687
+2	1.5206	2.0289	0.90366	1.8089
+1	0.65525	-0.47226	-1.1824	0.41863
+2	-0.39262	0.382	-0.64829	0.40947
+2	0.14966	0.22972	0.33797	0.69647
+1	-1.8836	-0.68534	-0.99941	-0.78961
+1	0.48181	0.01241	1.2145	0.16835
+2	1.4673	2.0438	2.4674	2.5234
+1	-1.3242	-0.80218	-1.6446	-0.31044
+1	-1.2471	-2.0351	-1.0296	-1.937
+1	0.23695	-0.01724	-0.32851	-0.16484
+1	-0.13986	-0.6065	-0.8491	-0.95538
+2	0.90888	1.0365	2.7222	1.3507
+1	-0.30556	-1.1546	-0.86033	-2.2006
+2	0.5391	0.99532	0.96947	1.1575
+2	1.1235	0.37982	0.64439	0.94362
+2	1.7073	1.9303	2.8018	1.9158
+1	-0.20553	-0.074104	-0.50073	-1.0697
+1	-0.27415	0.23076	-0.27564	-0.11286
+1	-1.304	-1.1213	-0.71793	-1.3462
+2	0.54315	0.55846	0.87411	1.2432
+1	-1.0659	-0.38067	-1.4372	-2.0927
+1	0.21278	-1.0115	-1.0984	-0.72751
+1	-2.9061	-1.3118	-3.8372	-2.0448
+2	-0.69608	-0.61145	-1.0037	0.12181
+1	0.66835	0.018886	-1.0081	-1.4165
+1	0.32575	-0.51767	1.0187	-0.40914
+2	0.65837	1.2791	1.8388	2.2906
+2	0.37574	0.21618	-0.89435	1.2643
+1	0.13513	-0.31405	-0.16057	0.77712
+2	0.16054	0.40635	0.036165	1.6374
+1	1.9393	1.5717	2.6922	1.1933
+1	-0.59118	-0.47154	-0.20293	-1.5576
+1	-0.35938	-0.49565	-0.20837	0.61043
+2	-0.57133	0.15921	-0.44158	0.43312
+1	0.31835	0.49002	2.2029	0.17685
+1	-0.0093708	-0.85889	-1.0934	-1.6905
+1	-0.90501	-1.4637	-1.5526	-1.828
+2	0.11531	-0.022781	0.88843	0.8607
+1	0.34978	-0.34306	0.95301	-0.056177
+2	-0.22236	-0.13023	0.37608	0.18027
+1	-0.90103	-0.38393	-1.1513	-0.78153
+2	0.66848	0.81005	1.3945	3.3654
+2	0.10539	0.59781	0.77864	0.63865
+1	-1.15	-1.4531	-2.929	-1.6867
+1	0.20842	-0.0039076	-0.12879	-0.31459
+2	0.52155	1.248	1.0411	1.9656
+2	0.041926	0.86223	1.2222	1.0289
+1	-0.70875	-0.15791	-1.1581	-0.77456
+1	-1.1701	-0.57889	-0.8843	-0.11873
+2	0.98106	1.0805	0.95484	2.1834
+2	0.26676	0.7527	0.61491	1.9024
+1	-0.64765	0.19831	-1.4399	1.3127
+2	0.92209	2.2111	1.208	2.7402
+2	-0.93755	-0.26009	0.54448	0.20265
+2	1.2403	1.8468	1.6169	1.8359
+1	-0.1313	0.14288	-0.48278	-0.96105
+1	-0.7222	-0.25191	-1.2122	-0.59027
+2	-0.57013	-0.061267	-0.5438	0.18234
+1	-1.5355	-1.1998	-2.6613	-0.2634
+2	0.86507	0.60361	1.2411	-0.29711
+1	-0.60117	-0.7424	-0.79575	-0.5736
+1	-0.91776	-1.5669	-2.1735	-0.56602
+2	0.9917	2.3088	1.7993	2.645
+1	0.17017	0.53321	0.84278	-1.4458
+2	-0.22306	0.262	-0.86259	0.87407
+1	-0.42107	-0.69813	-0.48166	-1.009
+1	0.46913	-0.76457	0.11077	-0.21258
+1	0.066036	-0.48665	-0.74847	0.38785
+1	0.16465	-0.57268	0.19043	0.23
+1	-1.2044	-2.2027	-2.9688	-2.5546
+1	-0.3031	-2.0277	-1.3027	-2.6541
+2	-0.20063	0.3886	1.2227	0.84669
+2	-0.23897	0.0036995	-1.4547	0.37173
+1	2.197	0.41411	0.68339	-1.2721
+2	1.9922	2.748	3.0416	3.1268
+1	-1.7922	-1.2233	-3.1352	-0.98514
+2	0.66968	0.81377	1.9112	1.7507
+2	1.048	1.3718	1.5938	1.4847
+1	0.56532	-0.97153	-0.91123	-2.4761
+2	-0.53609	-0.30043	-0.65398	-0.38562
+2	1.0012	1.3344	2.0595	2.8441
+1	-3.4639	-2.4231	-3.9055	-2.3575
+1	0.79272	-0.78962	-0.40706	-1.1306
+1	0.78178	0.32152	0.79399	0.14086
+2	-0.28587	0.20138	0.78238	2.1602
+2	1.4137	1.6184	2.2458	2.1799
+2	1.409	1.6079	2.4053	2.0587
+2	-0.049571	1.1163	2.0792	0.99457
+1	-1.394	-0.67782	-2.2302	-0.33872
+2	0.5374	1.8476	2.205	2.0025
+1	-1.4988	-0.90782	-1.4206	-1.2048
+1	-2.2683	-1.7667	-3.7613	-2.0306
+1	0.5275	-0.34657	0.11355	-0.6761
+1	-1.89	-2.1862	-2.3535	-2.2032
+2	1.4183	2.5108	2.4607	1.7296
+1	-0.19829	0.031868	0.014954	-1.7813
+2	1.9842	2.0081	3.2753	3.6534
+1	0.60225	0.089417	0.37343	-1.396
+2	0.15127	0.55563	-0.099824	1.684
+1	-0.30521	-0.0050244	-0.68635	-0.42167
+2	0.65124	0.2796	-0.22261	1.4011
+1	-0.71925	-1.8908	-2.0898	-1.2222
+2	-0.56741	0.091717	-0.37763	0.40742
+1	-2.8956	-2.2286	-3.4496	-3.429
+2	-0.89598	1.0267	-0.4909	1.1085
+1	-0.94952	-0.7555	-1.795	-0.13335
+2	1.2407	2.0614	2.5452	1.9642
+1	-0.11717	-0.54282	-1.9921	-0.72275
+1	-0.45987	-0.58174	-1.1552	-0.76589
+2	1.4219	1.7052	1.3243	2.0381
+1	0.17284	-1.1866	0.12735	-0.89424
+1	-1.5493	-1.5627	-2.191	-1.4248
+2	-0.52149	0.50488	0.88087	1.9829
+2	-0.073205	0.87222	-0.68612	1.5622
+1	-0.20595	-0.60619	-1.2632	-0.31189
+1	-1.6215	-2.0613	-2.6335	-2.0367
+2	0.91305	1.4897	2.1731	2.2545
+1	1.142	1.8275	1.8053	1.0419
+1	-0.45335	-1.322	-1.3973	-0.48254
+2	0.74114	1.8757	1.4174	2.1017
+1	-0.38344	-0.17813	-0.23266	-0.41796
+2	0.92714	1.7223	2.7582	1.4736
+1	-0.96407	-1.004	-1.3232	-0.72647
+1	-0.17388	-0.55234	-0.16535	-1.1821
+1	-1.4482	-1.0906	-1.9966	-0.2562
+1	-1.5948	-1.656	-2.1184	-1.9089
+1	0.30118	-0.24953	0.3965	-1.2012
+1	0.040955	-1.5321	-0.0067596	-1.8302
+2	-0.47573	0.19062	-0.38082	1.4748
+1	-0.57924	-0.90781	-1.0718	-0.87675
+2	1.2355	1.6025	0.66291	1.3094
+1	-0.85148	-1.0376	-0.35579	-0.84493
+1	0.62128	-0.097245	1.1169	1.1175
+1	-1.0166	-0.95689	-0.54272	-1.0278
+2	2.2273	2.234	3.0504	2.9534
+2	0.39445	0.74964	0.49728	0.40693
+1	-1.0992	-1.0596	-0.34052	-1.6927
+2	-0.87373	-0.044581	-0.87888	-0.87457
+1	-0.17361	-1.0992	-0.61197	-0.52145
+2	-0.81143	-0.23214	0.019331	-0.021054
+2	0.4003	0.84559	1.3177	0.22445
+2	2.4797	2.3692	3.1041	1.2821
+2	-1.2217	0.28611	-0.91875	0.53117
+1	-0.37718	-1.1674	1.1769	-0.7679
+2	0.69641	1.3615	1.2907	1.7631
+1	0.058157	-1.4908	-1.6127	-2.051
+2	-0.10351	-0.26543	-1.1031	1.4271
+2	1.5874	1.159	2.1284	1.6052
+2	0.7304	1.8986	1.8219	2.6148
+2	1.2822	1.2151	1.6436	0.45098
+1	-0.67686	-0.50447	-0.81689	-0.47995
+2	0.099845	0.22575	-0.38467	1.3463
+1	-0.60473	-0.56624	-1.0822	-0.9277
+2	-0.09599	-0.052173	0.60328	0.36281
+1	1.3654	0.15181	1.0298	-1.196
+2	-1.4158	-1.1006	-1.9009	0.73982
+1	-0.035902	-0.11554	0.031789	0.15859
+2	-0.41972	-0.75665	-0.12297	-1.1222
+2	0.5198	1.1791	1.4405	0.74397
+2	0.48739	-0.18437	0.062889	1.33
+1	-0.40637	-0.97335	-1.7407	-1.7785
+2	1.2506	2.1236	2.544	2.21
+1	0.2246	0.14729	0.19402	-0.0184
+1	-2.9787	-2.8634	-3.6482	-3.2628
+2	-0.34778	-0.88344	-0.53681	-0.1392
+2	-1.8429	-1.7447	-1.2394	0.076896
+2	0.19618	1.4064	0.26418	1.4885
+1	1.1131	-0.28387	-0.062115	-0.38574
+2	0.49115	0.78076	1.4226	0.55504
+1	-1.8202	-1.2481	-2.3751	-1.7518
+2	1.2174	2.2183	1.4501	3.6806
+1	-1.9377	-1.6646	-3.3068	-2.1189
+2	0.54181	0.5947	0.58072	0.40033
+1	-0.66287	-0.68746	-0.096024	-1.7397
+1	0.40851	0.30851	-0.17237	-0.50364
+2	0.75742	0.4505	-0.78196	0.44425
+1	-1.4505	0.020384	-0.43303	-0.95328
+2	-0.028847	0.15037	0.5137	0.46568
+2	-0.63541	0.3954	-0.8684	1.5549
+1	0.33942	-0.38445	-0.041492	-1.4867
+2	0.47366	1.145	0.23226	1.7193
+1	0.023382	-0.041247	-0.82666	0.080651
+1	-1.1404	-1.0549	-2.3807	-2.1069
+2	0.33731	1.2985	0.71006	3.2157
+1	1.14	-0.87596	0.068296	-0.74487
+2	-0.049493	0.63	0.61696	0.5656
+1	-0.4566	0.65674	0.031943	0.92164
+2	0.017518	0.38805	0.53672	0.36798
+2	0.48676	0.83957	0.81814	1.0935
+2	2.7892	2.4059	4.9329	2.8726
+1	0.43253	0.11799	1.095	-0.30789
+1	-1.1828	-0.8044	-0.85393	-0.88528
+1	-1.5592	-2.1209	-2.309	-3.1197
+2	-1.2601	-1.2767	-1.6618	-0.50383
+2	2.1516	2.1742	2.8387	1.8793
+2	0.24623	0.69241	-0.010176	0.53935
+1	-0.22259	-0.40572	0.11176	-1.348
+1	-0.50134	-1.5699	0.070888	-1.576
+1	-0.59262	-0.25483	-0.97248	-0.80873
+2	0.59278	2.3224	1.2169	3.7789
+2	1.8088	2.2184	2.3414	2.2607
+1	-1.4547	-0.92385	-2.0514	-1.4636
+1	-1.0861	-0.97609	-1.4805	0.049658
+2	-1.3983	-1.4913	-1.5386	-0.37917
+1	0.39015	-0.60643	0.29969	-1.038
+2	-0.56574	0.93819	0.41397	3.0029
+1	0.33141	0.18418	-0.58313	-0.55312
+1	-1.0672	-1.2348	-1.7643	-1.8829
+1	-2.6167	-2.6369	-2.7652	-3.2899
+2	0.86111	1.9481	1.9289	2.6912
+2	-0.17146	0.59905	-0.32254	0.90592
+1	0.56296	0.22567	0.50046	-0.015986
+1	0.27356	0.014082	0.53515	-1.2915
+2	0.028483	0.74312	0.032785	0.86451
+2	0.45844	1.8271	1.9607	1.5293
+1	-1.0948	-0.81939	-1.3227	-1.7485
+2	-1.9435	-1.416	-2.3622	-0.083073
+2	1.9356	2.3905	3.3874	3.3754
+2	-0.51503	-0.61825	-1.0265	1.0355
+1	-0.069375	-0.38404	0.76998	-1.0565
+1	-0.99145	-1.4551	-0.3469	-1.1237
+2	0.22687	0.42981	-0.57465	1.7352
+1	-0.6192	-0.85621	-1.5754	-2.1116
+2	0.044283	0.22217	-0.46803	0.077448
+2	0.25206	0.75089	2.0777	1.6582
+1	-1.4421	0.36925	-1.3094	1.5023
+2	-0.37483	0.92607	0.66991	1.5735
+2	0.96079	1.4626	2.6634	1.8589
+1	-1.3318	-0.19963	-1.0137	-0.69936
+1	1.7601	1.2466	2.176	0.32938
+1	0.30315	-0.016251	0.51713	-0.89472
+2	-1.4913	-0.70336	-0.91095	0.12156
+2	-0.42001	-0.10023	-0.6748	0.60273
+2	1.3951	2.7444	2.8842	3.5656
+1	1.4232	0.6032	3.5048	1.7782
+1	0.73551	0.75694	1.037	-0.57807
+2	-0.39931	0.58809	-0.4973	0.21019
+2	1.3913	1.8648	1.7568	0.93599
+2	0.80965	0.4027	0.24317	1.9104
+1	-0.51752	1.1244	0.48382	0.33224
+1	0.1481	-0.5792	-0.3214	-0.26037
+1	-1.3533	-0.43213	-0.42417	-0.87353
+2	0.56938	0.99576	0.89716	1.7409
+1	-0.079763	-1.7127	-0.63871	-2.5791
+2	2.0641	2.5514	4.0436	2.7148
+1	-0.19435	-0.15077	0.60547	-1.4134
+2	0.081749	0.54813	0.96427	1.7548
+1	1.8213	0.88012	1.1502	0.10288
+2	-0.36776	1.0119	0.72045	1.4314
+2	-0.013532	0.88042	-0.065303	1.2714
+1	-0.46271	-1.5631	-1.3127	-1.5945
+2	0.32816	0.69476	1.2058	0.95562
+2	1.0995	1.9791	1.6754	2.7251
+2	1.2894	2.0428	2.7797	3.0741
+2	0.086177	0.13431	0.15097	1.1387
+2	1.4238	1.8326	1.452	2.2914
+2	-0.26067	0.085743	0.10703	1.6861
+1	0.8651	0.16132	1.2287	-0.49648
+2	1.6258	2.0722	1.5768	2.692
+2	-0.41045	-0.064344	-1.1639	0.35736
+1	0.87048	0.48066	1.3185	0.56768
+1	-0.059767	0.65175	0.20121	-1.4305
+1	-0.27649	-0.71256	-0.93355	0.12948
+2	0.40298	0.62103	0.38596	1.4175
+2	0.92929	1.4075	2.4664	1.9966
+1	-1.7047	-1.5666	-1.9704	-2.1459
+2	-0.31907	0.39015	-0.094609	0.63235
+2	1.43	2.3977	3.1491	2.2081
+1	-1.6535	-0.62255	-1.1695	-0.61433
+2	-0.22619	-0.15443	0.80091	-0.054849
+2	0.38626	1.6316	0.47058	1.4147
+1	0.14484	-0.64224	0.0082434	-0.86504
+2	1.8557	2.0853	3.4931	3.3653
+2	1.9842	3.3837	3.9431	2.2935
+1	-1.8676	-0.25935	-1.384	-0.46349
+2	1.1631	1.8748	2.8603	1.986
+2	0.28825	0.24785	1.285	0.97497
+1	0.014074	-0.43179	0.47159	-1.5869
+2	0.54993	1.3186	0.45672	1.4753
+1	0.36038	-0.17131	0.38497	0.032798
+2	-0.80787	0.028976	0.37316	-0.44677
+2	-0.28951	0.65841	-0.64075	1.0972
+2	0.55213	0.20033	-0.03155	-0.76611
+2	-0.39724	0.7762	0.84015	0.7553
+1	0.93813	0.87454	1.4003	-1.3907
+2	-0.32578	0.26563	-0.33416	1.6042
+2	0.33084	1.2848	1.0439	0.0011286
+2	-0.38575	0.17469	-0.30238	1.5178
+2	1.3498	1.2703	1.9845	1.5933
+2	0.58348	1.167	1.0504	1.1296
+1	1.082	0.6528	0.81685	-0.23314
+2	2.4742	2.4752	3.1153	2.9547
+2	0.12754	0.025728	-0.058504	0.58213
+2	1.817	2.0622	1.4037	1.1949
+2	0.8552	1.6038	1.0049	2.2411
+1	-1.0052	-1.0198	-0.48341	-2.5176
+1	-1.3895	-1.8934	-2.3298	-1.8805
+2	-1.0276	0.3109	-0.56926	0.026187
+1	-1.3081	-0.57127	-2.0782	-2.0429
+2	0.50882	-0.20697	0.013231	1.1618
+1	-0.9931	-1.3226	-0.98672	-0.47612
+1	0.41926	-0.14847	0.91577	-1.2763
+1	-0.93098	-1.0248	-2.0666	-0.55364
+1	-0.25192	-0.73885	0.073947	-0.4339
+1	-0.6545	-0.21517	-1.3672	-1.5453
+2	1.6327	2.0072	2.554	2.6639
+2	0.57601	-0.3015	0.74417	0.88943
+2	1.2264	1.7475	0.67207	1.0271
+1	0.42271	0.040673	0.80654	-0.83604
+1	-0.67361	-0.91976	-2.2619	-1.3054
+2	0.36815	0.93526	1.3126	1.077
+2	-0.1728	0.32075	0.54531	1.9659
+2	1.8385	2.4279	3.2285	3.4634
+1	-1.4314	-0.89679	-1.154	-1.4032
+2	0.38846	0.05761	1.0422	1.9036
+1	0.80821	-0.15658	-0.62623	-0.68719
+1	-1.302	-1.3887	-2.2708	-2.092
+1	-1.2392	-1.4976	-1.3607	-3.0231
+1	-0.3896	-0.42846	-0.75791	-1.7643
+2	1.5723	1.0907	2.0144	1.5574
+2	0.8587	1.1411	1.1627	1.9495
+2	-0.77478	-0.39283	-0.0099916	0.64003
+2	0.1672	0.63395	0.41181	1.3391
+2	-0.14637	0.26969	0.82956	0.41884
+2	0.14447	-0.10291	-0.287	0.80367
+1	0.18687	-0.27602	0.27575	-0.63094
+2	1.2428	1.5281	1.2243	3.0052
+1	-0.052875	-0.25162	-0.60352	-1.208
+2	0.6821	0.21045	1.2654	-0.013434
+1	0.26358	0.068284	0.22081	0.066436
+2	-0.62892	-0.053397	0.047075	0.74043
+2	-0.78913	-0.2106	-1.804	0.01624
+1	0.22995	-0.80286	1.3801	-0.92733
+1	-1.9684	-1.1444	-1.8	-2.7373
+2	-0.5569	-0.61626	-0.86638	0.4016
+2	0.1115	1.0784	-0.3657	1.3313
+1	-0.64278	-0.82557	-0.24553	-1.5426
+2	0.20989	0.049778	0.14976	-0.17113
+2	0.93007	1.927	1.9457	1.1498
+1	0.26164	0.15551	-0.033813	0.44309
+2	0.73092	1.0348	0.74128	2.4557
+2	-0.35204	0.606	-0.43078	1.2194
+1	-0.16719	0.40172	0.76466	0.31738
+2	0.97519	1.447	1.6576	0.8312
+1	-0.47105	-0.44196	-1.6032	0.68482
+2	-0.60894	-0.70426	-0.46443	0.86476
+2	-0.19328	0.33885	0.7601	0.61242
+2	0.12697	0.76843	0.73746	0.81747
+1	0.031673	-0.68398	-0.5238	-0.6702
+1	-0.93868	0.50393	0.10229	-0.63522
+1	-1.0264	-1.1855	-1.9957	-2.5259
+2	-0.5916	0.44419	0.014831	0.77302
+1	1.0176	0.82793	0.63908	-0.62945
+1	0.76611	0.14394	0.43542	-0.86403
+2	0.58551	0.21427	1.0034	0.50604
+2	-0.34577	-0.40185	-0.61186	-0.40606
+1	-0.77597	-1.1617	-1.8329	-3.1861
+2	0.068959	0.30321	0.76889	0.34588
+1	-1.2576	-1.5157	-1.1779	-0.94907
+1	-0.83648	0.090435	0.56704	-0.53314
+2	0.88421	1.707	2.6335	2.255
+2	0.55861	0.94463	0.9639	0.8637
+1	-0.18064	-1.0746	0.99446	-2.7845
+1	0.76049	0.26843	1.5167	-0.24873
+2	0.35634	-0.24447	-0.97159	0.11146
+2	1.7377	2.5182	2.4327	3.2303
+1	-1.624	-1.42	-3.435	-1.0498
+1	-1.2389	-1.8164	-1.726	-1.1608
+1	1.0074	-1.0969	-0.0682	-2.9043
+2	0.21432	0.54189	0.15421	1.1324
+2	1.5187	2.458	2.1317	3.8317
+2	1.5893	1.9248	3.0454	2.0655
+1	0.35221	1.6454	1.8029	-0.44455
+1	-0.54894	0.55414	0.35949	-1.3991
+2	-1.1614	-0.48362	-0.73735	-0.49564
+2	1.1159	1.0502	1.0648	0.3003
+2	0.96161	2.1506	1.531	2.1461
+1	-1.2411	-1.0381	-1.1269	-1.1484
+1	0.11049	-0.27275	-0.55964	-0.70906
+2	2.2862	2.1313	2.6027	2.2877
+1	-0.64184	-1.1552	-0.63442	-1.8594
+2	1.9075	1.8567	3.8481	1.9532
+1	-0.63126	-0.85427	-0.53335	0.37771
+2	0.59491	1.4425	1.9929	0.98581
+1	1.5669	0.7286	2.3314	-0.25628
+1	-2.1064	-1.9792	-3.209	-1.9161
+2	0.62872	0.51499	0.21648	1.4204
+1	-0.51532	-0.93122	-0.72578	-1.3459
+1	0.041397	-0.61347	-0.034157	-0.054858
+1	-0.72287	-1.1269	-1.7365	-1.4906
+1	-1.8362	-0.24614	-1.2446	-0.088146
+2	0.97014	1.3422	1.5292	0.77185
+1	-1.8502	-1.2924	-1.9175	-2.5133
+2	0.77748	0.89065	1.1444	0.26583
+1	-0.15405	0.089319	0.59477	0.16672
+2	1.3054	2.3544	3.2492	1.6727
+2	0.92409	1.3741	0.79866	2.0506
+2	-0.69943	-0.67926	-1.8186	0.67307
+1	-3.2806	-1.8577	-3.5456	-1.7004
+2	0.74119	1.0011	-0.11293	2.328
+2	0.73779	1.6924	1.7521	1.2604
+1	-1.3683	-1.7765	-1.5974	-2.2288
+2	0.46839	-0.27199	-0.1524	0.88269
+1	-0.73595	-1.4506	-1.408	-1.9886
+2	-0.2289	-0.5663	-2.0807	-1.4869
+2	-1.0052	0.16268	-0.48156	0.014777
+1	-0.10211	0.087625	-1.1098	-1.0203
+2	-0.090896	-0.057038	-0.69817	0.19942
+2	-0.42191	0.14803	-0.32168	0.049687
+2	0.84872	0.59768	1.9205	1.1233
+1	0.029696	-1.4186	-0.39548	-0.029631
+2	2.0013	1.9999	3.0139	1.6432
+2	1.1324	0.89689	-0.1229	0.15109
+2	0.93618	2.4521	1.7229	3.4367
+1	-1.0037	-1.435	-2.2126	-1.9473
+2	-2.2472	-1.296	-2.3762	-1.9611
+2	0.62477	1.5212	1.2814	1.4403
+2	0.17619	0.488	0.38575	0.19632
+1	0.79693	0.15328	-0.26972	-0.45147
+2	1.3618	1.6805	1.2152	2.1905
+2	-0.36075	1.0698	0.38569	2.5707
+1	-0.55325	-0.17572	-1.0232	-1.134
+2	0.9795	1.3777	0.26495	0.23258
+1	-0.92872	-1.2233	-2.1998	-1.9011
+1	0.47029	-0.06201	-0.34515	-0.57857
+1	-2.6597	-1.5144	-3.0038	-1.949
+2	-0.064474	-0.25394	-0.34794	0.76334
+2	0.52259	0.76325	0.93484	0.060827
+1	0.89037	0.68007	0.50459	-0.88464
+2	1.0031	1.3853	1.7313	0.75303
+2	0.6954	1.3692	0.19298	1.6174
+2	-0.14026	1.1774	0.39386	-0.25913
+2	-1.7796	-1.2709	-2.5775	-0.36996
+2	0.41557	1.9905	1.839	1.1327
+1	0.53878	-0.71974	-0.65395	-0.62597
+2	0.22326	1.3888	0.17221	1.2265
+1	-0.12667	-1.1336	-0.67	-3.6161
+2	1.0183	1.5883	2.2784	1.7509
+1	-2.0415	-2.2483	-2.8307	-3.1148
+2	-1.1513	-0.08575	-0.62876	2.164
+1	0.1961	0.075096	1.9551	0.039445
+2	-0.96925	0.12921	-1.2741	1.8371
+1	0.34137	0.086468	1.4716	0.55236
+1	-0.20756	-0.74846	0.65256	-0.7032
+2	1.1736	1.0214	1.258	1.0002
+2	0.48081	1.3275	0.54443	1.2194
+2	-0.45146	0.38298	0.64902	0.90395
+1	0.75519	-1.0627	-0.35778	-1.7689
+1	-1.4308	-1.0998	-1.0094	-0.66361
+1	-0.097019	0.18029	-9.0423e-07	0.59444
+2	1.3769	2.4872	3.2855	0.98727
+2	0.79201	0.76361	0.88459	3.119
+2	2.5125	2.4776	4.6119	3.966
+1	0.57129	-0.93689	-0.20516	-0.42323
+1	-0.91517	-0.25445	-1.3515	-0.99354
+1	0.17456	-0.98904	-0.49643	-0.8997
+1	-2.2724	-1.6869	-3.8034	-2.0882
+2	-1.8188	-0.57721	-2.4386	0.058963
+2	-0.19227	0.038901	-0.85065	0.6644
+1	-1.5517	-0.57182	-0.9874	-1.4081
+2	-0.47999	0.49667	0.27351	0.6261
+2	0.45041	0.48469	0.55808	2.0659
+1	-1.1302	-1.255	-2.7206	-1.2712
+1	-0.60672	-1.1008	-2.6889	-1.0078
+1	-1.0508	-0.99612	-1.555	-1.0463
+2	0.14434	0.97791	1.2498	1.7391
+2	0.21333	1.6686	1.219	1.8919
+2	-0.35461	-0.64694	-1.3312	-0.10481
+1	-2.0611	-2.1245	-3.6067	-1.6584
+2	-0.3534	0.45962	-0.39991	0.45667
+1	-0.37564	-0.63085	-1.2641	-1.3292
+1	0.30023	-0.20283	0.041852	-0.17139
+2	0.25089	1.0204	1.8084	1.0493
+1	-0.44041	-1.1143	-0.59224	-0.84288
+2	-0.11392	0.5681	-0.054604	0.88897
+1	0.41829	-1.042	-0.0042274	-1.9512
+2	1.4863	2.9227	3.0012	3.1253
+1	-0.60588	-1.1196	-1.4647	-0.92268
+1	-0.10497	-0.74629	-1.8353	-0.35425
+1	-1.2499	-0.83335	-2.4047	-1.4657
+1	-0.51414	-1.4602	-0.54649	-1.0475
+1	0.56956	0.79545	0.86494	-0.59471
+1	-0.64964	-0.78543	-1.9412	-2.2114
+2	1.0044	0.56431	1.2968	1.3807
+1	-1.1924	-0.69401	-0.72828	-1.7252
+2	0.15739	1.0449	0.3742	1.4303
+2	0.49582	1.4353	1.1652	1.5814
diff --git a/sourcecodes/data/example_time_series/TEbcontinuous_input_orig.txt b/sourcecodes/data/example_time_series/TEbcontinuous_input_orig.txt
new file mode 100644
index 00000000..5ea44854
--- /dev/null
+++ b/sourcecodes/data/example_time_series/TEbcontinuous_input_orig.txt
@@ -0,0 +1,501 @@
+Genotype	TraitA_T1	TraitA_T2	TraitA_T3	TraitB_T1	TraitB_T2	TraitB_T3	TraitC_T1	TraitC_T2	TraitC_T3
+1	1.4297	-0.13715	-0.33041	1.3972	-0.17802	1.0272	-1.322	0.0027715	0.85527
+1	2.0687	-2.5819	-0.71386	-0.25338	0.64604	-0.25402	-1.1947	0.60348	1.5977
+2	0.52771	0.19656	0.40967	0.039336	1.57	-0.036341	-1.6301	-0.15434	0.93397
+1	1.7929	-0.85399	-0.21102	0.36528	0.14997	-0.072283	0.25214	1.8044	1.4149
+1	-0.090929	-0.17288	-2.808	0.79192	-1.5175	-0.90041	0.39689	-0.18146	-0.55432
+1	0.86086	-0.049472	-0.82074	0.18954	0.51157	0.30995	-0.50952	-0.047852	0.25632
+1	0.37794	-0.49737	-1.5634	-0.61123	-1.6172	-0.025387	-0.50463	1.0061	-0.55909
+1	0.061886	-1.3173	-0.38674	0.66584	0.023432	-1.0821	0.14268	-0.21189	-0.60498
+1	0.96427	-1.6652	-0.61177	-0.295	0.12641	-1.6644	-1.0372	0.033566	1.3366
+2	0.16295	0.59047	0.7747	-0.32623	1.6996	-0.042892	-0.0034198	-0.30944	0.67765
+1	1.7419	-0.94567	-1.8121	0.80385	0.23144	-1.4004	2.0605	-0.83835	1.3823
+2	-0.92772	0.34934	0.87438	-0.62792	0.7641	-0.5865	0.24522	0.6353	-0.0017539
+2	-2.9367	1.609	2.0928	0.61651	-2.0775	-0.24164	-0.3587	-0.95545	-3.0393
+1	0.52613	0.43773	0.75866	0.73066	0.46388	-1.4681	-1.5908	1.6872	0.89314
+2	-0.10721	1.7759	1.6821	-0.56868	1.6447	-0.92002	-0.27447	-0.62549	0.91373
+1	-1.073	-1.8228	-0.34751	-0.54007	-1.7593	-0.7431	0.61821	-0.054988	-1.7414
+2	-1.0532	1.0319	1.0531	-0.09473	-0.82174	0.45084	-0.38299	-0.6361	-0.90619
+1	1.7064	-1.8984	-2.6061	0.99661	-0.67065	0.17936	0.97103	0.38751	-0.11531
+2	-3.2527	-1.1361	0.56795	-0.39584	-1.5189	-1.7637	1.2149	-1.3971	-1.8622
+1	2.3471	-2.1036	-2.092	1.544	-0.21178	0.3446	1.0474	-0.64427	0.73628
+2	-0.63792	1.3156	0.92169	-0.67815	1.4089	1.1938	0.82905	0.16566	0.09164
+2	-2.0379	0.74861	0.16368	0.58693	-0.67589	0.81824	0.33633	-0.19727	-1.243
+2	-1.7441	2.4915	0.89809	-1.0265	0.35767	-1.159	0.63023	0.97341	0.29971
+2	-1.9637	0.94259	1.169	1.9451	-0.96485	0.49152	-1.1393	-1.2415	-0.58885
+2	-1.0536	2.4253	0.94996	-2.3874	0.23825	0.224	-0.073329	-1.2231	-0.24801
+1	-0.032849	-1.1426	-1.1507	-0.10711	-1.6383	-0.80394	1.5126	0.28303	0.083105
+2	-2.2192	0.84322	0.73021	0.71513	-0.79164	0.61126	-1.2986	0.89057	-1.4685
+1	0.42429	-0.65294	-1.9493	-0.77983	-1.2761	0.99263	0.051924	0.83436	-0.0079187
+2	-0.85155	0.9691	1.1731	1.0504	0.39302	0.030178	-0.70262	-0.014959	-0.31945
+1	-1.4662	-0.5934	-2.0914	-0.76279	-1.7903	0.94245	0.96374	-1.6733	-1.8091
+1	2.0716	-0.52844	-0.183	-0.032514	1.4843	0.28402	0.37221	-1.4476	2.8712
+2	-1.0437	1.5094	-0.23396	-0.84804	0.43785	0.19966	0.3728	0.15043	0.10549
+1	1.0647	-0.35638	-1.0854	0.78756	-0.99107	0.098816	-0.32975	-0.68451	0.71344
+1	0.58146	-0.46614	-2.9113	-0.032848	0.052376	-0.36411	0.87461	0.28033	-0.61848
+2	-0.6251	1.3257	0.36072	-0.042944	0.66071	-0.33981	2.0873	1.2161	0.089706
+1	1.57	-1.26	-2.0278	1.5331	-1.5343	0.019093	-0.73556	1.0316	0.41452
+2	-1.6998	1.0471	-0.0095397	-0.72037	0.30428	0.18062	0.86143	-0.31801	-0.86127
+2	-1.0544	1.9761	1.1994	1.7876	-0.24561	0.01978	1.4123	0.19675	-0.022687
+2	0.38235	2.3798	0.42045	0.97856	1.7099	0.20914	1.0505	1.9808	1.482
+1	1.8991	-2.1024	-0.53897	0.20839	1.3568	-1.4725	0.16263	0.069291	1.5719
+2	-2.2901	1.333	1.1433	-0.53918	-0.41394	-1.0484	-1.2332	0.068735	-2.0475
+1	1.9123	0.027091	-0.067604	-0.86429	-0.73426	0.65875	-0.59697	1.1903	-0.068242
+2	-1.8834	1.7232	1.3404	-0.096031	-0.1779	1.2453	0.23601	-0.81722	-0.8237
+1	-0.33029	-1.4141	-0.24236	0.3117	-0.28893	-1.536	0.63391	0.97915	-0.30591
+2	-1.0004	-0.17153	0.80903	-1.3152	-0.28004	-2.5356	0.25062	-1.6221	-0.2114
+2	0.92525	0.78374	0.44585	0.87215	0.67229	1.6991	-0.45347	0.21751	0.95898
+1	0.47842	-0.79727	0.0099566	0.8919	0.31135	-0.62503	-0.99073	1.5268	0.43918
+1	-0.52618	-0.57407	-1.5704	-1.9977	-1.8715	0.99632	1.124	2.1038	-1.3776
+2	-0.8334	1.5897	0.82506	-0.045645	0.23407	-1.1836	-0.86756	0.52102	0.23901
+1	1.0179	-0.6531	-0.53277	0.32403	1.226	-0.27361	-1.5967	-0.20229	1.5482
+2	-0.82762	0.26361	2.4807	-0.49628	-0.44792	1.295	-1.0416	0.29424	-1.0789
+1	1.569	0.14532	-1.3216	-1.1622	-0.46791	0.10723	-0.74658	1.7246	0.087136
+1	0.93783	-1.0786	-1.6758	-2.3367	-1.4745	-0.78743	0.85399	0.0085691	0.79439
+2	-2.9555	1.122	1.8506	0.65602	-0.66402	0.25697	0.75048	0.21667	-2.1374
+2	-1.5843	0.24076	0.71071	-0.16959	-1.0254	0.44363	1.1218	1.0872	-1.2214
+2	0.82202	1.2273	-0.2641	1.1674	0.72576	-0.6655	-0.33565	-0.57264	1.0462
+1	0.83408	-0.90235	-0.3935	0.086621	1.5353	-0.37978	-0.040736	0.54884	1.0078
+2	-0.30426	0.26772	1.1941	0.52251	1.9104	-0.10785	0.40619	1.0277	1.0258
+1	0.81767	-2.1549	-1.0066	-1.1068	-0.3204	0.70458	-1.0728	0.7519	0.49365
+1	0.67964	-1.4603	-1.4347	0.76332	-0.97228	-0.9221	1.0028	0.98058	-0.18843
+1	1.3794	1.3504	-0.081978	0.31556	0.32948	-2.6404	-1.0646	-1.2234	0.23259
+2	0.11139	1.1587	0.66712	-0.46969	0.42	0.31504	0.4697	2.6848	0.14172
+2	0.28767	-0.065134	1.3282	0.43016	1.4838	-0.63014	0.62746	0.93536	1.6029
+1	2.4805	-0.73041	-2.1434	-0.61007	0.89886	-0.34815	0.53564	-0.83092	1.359
+2	-1.7925	1.8972	1.3604	-1.0549	-1.2652	1.3518	-0.049884	-1.2196	-0.88755
+2	0.47058	1.4302	-0.034783	-0.11473	1.0041	1.0036	-0.46028	1.0611	1.2613
+1	2.6579	-0.31683	-1.1155	-0.65359	0.96673	0.64757	1.2194	-0.90696	1.8217
+2	-0.29097	0.91367	1.5236	-1.0735	0.71821	-2.1156	0.11456	-0.37247	0.64467
+1	0.68355	0.40105	-1.7852	1.3169	0.6179	-1.3712	0.05004	-0.65314	1.1103
+2	-1.8738	2.4006	1.8782	-2.1995	0.49239	-0.6918	-0.70293	-0.74597	-0.3239
+2	-0.36364	1.0943	0.62818	0.1429	0.85651	-0.96809	0.12213	-0.94343	0.42158
+1	0.40116	-1.4861	-0.049336	0.72652	0.1255	-1.1187	-0.38912	0.060771	-0.29816
+1	1.1364	-0.828	-0.44475	0.81314	-0.45463	0.73019	-0.57071	0.32484	0.046647
+1	0.91034	-0.95145	0.43201	0.76891	-1.5873	-0.38206	0.28662	0.23105	0.11712
+2	-0.27208	2.2223	1.2591	0.70003	0.89367	1.0322	0.41848	0.96986	0.17078
+1	1.0624	0.048938	-1.002	-1.0531	-0.28385	0.30108	0.62074	0.39829	0.27699
+1	0.57701	0.094694	-1.3989	0.15018	-0.44071	0.74259	-1.2663	0.33047	-0.45917
+2	0.11706	2.795	0.35611	-0.68956	2.1138	0.36961	-1.3806	-1.1414	1.9844
+2	-1.2526	0.11214	0.40367	0.83874	0.37692	1.4445	-0.77317	-0.40136	-0.42244
+2	-1.4336	-0.32339	1.3392	0.7596	0.0091892	1.0806	-0.81666	-0.39415	-1.9858
+2	0.5554	1.0643	0.50191	0.37325	2.0674	0.38376	-0.13487	-0.37455	0.64987
+1	1.6028	1.107	-0.9114	0.97541	0.88036	1.66	1.4044	-0.46919	0.80681
+1	1.6228	-1.3906	-1.8136	0.56649	-0.87823	-1.8194	0.30195	1.2461	-0.07587
+2	-0.97076	1.5212	1.1269	0.4029	0.19516	-1.5031	0.85567	0.18958	-0.20832
+1	1.3197	-1.8366	-0.24704	0.34608	-0.77044	1.1945	1.6826	0.91217	0.30079
+2	-0.38255	-0.2812	0.27203	-1.2858	0.86735	-0.54848	-1.3505	0.57415	0.12916
+2	-2.878	1.5199	0.74535	-1.4308	-2.2635	-1.4245	0.89574	0.037623	-2.7177
+2	-1.7715	0.74699	0.96279	-1.306	-0.36677	-0.36708	1.4602	-0.85456	-0.40898
+2	-1.3391	1.2012	0.7409	-1.3102	0.40133	-0.076096	0.51637	0.33495	0.25003
+1	0.65017	-0.57483	-1.7053	0.21131	-0.38338	1.6998	-0.70762	1.5248	0.1473
+1	-0.14679	-1.5979	-1.2765	1.041	-0.00072624	-0.19359	0.17338	-0.96136	0.51031
+1	1.8145	-1.0318	-1.0633	-0.098291	1.1755	-0.57137	1.7174	-0.14248	1.4282
+1	0.80523	-0.96777	-1.8989	0.063236	-1.2783	0.72214	-0.99392	-0.017507	-0.52743
+1	1.479	-1.2772	-1.1642	0.13841	0.83641	0.12311	1.2557	-0.37799	1.6174
+2	-1.423	-0.24793	0.49465	1.1461	-1.0896	-0.16348	-0.76872	-0.40631	-1.8538
+1	1.5733	-0.26875	0.42772	-0.75241	-0.0059677	0.65109	0.67958	0.47183	-0.10405
+1	1.7405	-1.3987	-0.91804	0.30851	-0.37195	-0.30858	-1.2002	0.51775	0.60525
+1	1.0571	1.4951	-2.5784	0.023453	0.064363	0.2392	0.93292	-0.37825	0.58165
+2	-0.35492	0.69359	1.5161	0.58499	-0.44209	-0.09004	-0.70298	-1.1197	-0.12251
+1	0.61469	-1.1159	0.11919	0.1796	-0.94894	0.012732	-0.69651	0.21311	-0.52283
+1	-1.2282	-0.050497	-0.83443	-0.28534	-2.0051	-1.3528	0.096769	-0.67245	-1.2668
+1	1.0411	-0.016327	-1.927	-0.10683	-0.70277	-1.4696	-0.021181	-0.34105	0.46198
+2	0.64635	0.84883	1.6319	0.2406	1.8836	0.31359	-0.69264	0.96691	1.3021
+2	-0.3604	0.050276	0.95661	0.18902	1.5034	1.3017	-0.045011	-0.92727	0.70494
+2	0.60646	1.598	1.395	-1.3791	1.8106	0.097276	0.74515	-0.4425	0.62478
+2	-0.099653	-0.54799	-0.1078	-0.18908	1.4643	-0.49221	0.050585	-1.2949	1.4842
+2	-0.98803	0.016928	1.2978	-0.29336	-0.2433	-0.90577	-0.18704	-0.22856	-0.39148
+2	-1.2267	0.82318	0.77338	0.0029744	0.15114	1.4265	1.6722	-0.18878	0.083877
+2	0.32455	0.48697	0.87077	-1.2598	0.89457	-0.2656	-0.4774	-0.22382	0.86019
+2	-1.6768	0.28366	1.7541	1.4309	-1.0277	-0.49835	-0.31204	-0.04057	-2.2507
+2	-0.83915	0.98617	0.024566	0.14541	0.40801	-0.010211	1.7726	-1.3709	0.30366
+2	-0.12663	0.15335	0.70774	2.1504	1.6066	-0.39836	1.078	-0.017324	0.94477
+1	1.1185	-0.39853	-0.011251	-0.0047654	-0.018256	-0.97102	1.8801	0.5724	0.70777
+2	-0.96731	-0.023776	1.2924	-0.94814	1.0413	0.3092	-0.06342	-0.032081	-0.22356
+1	1.1481	-1.0434	-2.2223	-1.2686	0.27026	-0.40422	-0.34583	2.2763	-0.16972
+2	-0.73981	1.2266	0.71139	-1.5638	0.084373	0.09421	-0.94629	-0.73173	-0.13897
+1	0.10133	0.032746	-1.5397	-1.7164	-0.96537	0.18106	0.47324	-0.32186	-0.44953
+1	2.3032	0.37332	-1.7518	-0.97719	0.21786	-0.29424	-1.6122	-0.3313	0.34243
+2	0.30487	0.96988	0.7649	1.2021	0.93113	-0.55965	-1.8153	-0.34231	1.0416
+1	0.9734	-1.1492	0.54826	0.24535	-1.1123	-0.013547	-0.72623	0.9444	-0.19613
+1	1.3053	-1.4227	-2.1548	-0.99601	0.99751	0.37094	-0.24703	-0.92319	0.81674
+2	-0.0084211	1.8266	0.94339	-0.96922	2.2496	0.14622	2.3348	-0.34993	1.4151
+1	0.64848	-1.4999	-0.79935	-0.18624	-2.4443	0.91037	-0.16866	-0.15122	-1.2117
+1	0.99806	-1.9897	-0.90507	0.86062	-0.34118	-0.4535	-0.54746	1.5108	0.91863
+1	-0.30169	-1.2768	-1.1305	-0.01759	0.06726	-0.39978	0.52015	0.96655	0.12442
+1	0.76671	-0.91781	-2.0919	0.37685	-0.19301	0.73072	1.2156	1.439	0.0070513
+2	0.66141	0.90111	1.0491	-0.66199	1.9568	-1.2392	0.18616	1.0926	1.652
+1	2.2346	0.19579	-0.82941	0.65367	0.48104	-0.33862	0.11669	0.66087	1.1783
+2	-1.3061	1.9587	1.3667	1.1907	-0.51821	-0.2974	-1.0178	0.34352	-0.018939
+2	-2.4636	0.65586	1.618	-0.50642	-0.63857	-0.65954	-0.9133	0.027975	-1.4977
+1	0.89124	-0.8583	0.34126	-0.30785	0.91808	-2.22	1.2944	-0.27909	1.487
+1	1.9669	-0.26343	-2.0878	-0.29226	1.7407	0.64013	0.32367	0.44562	1.1292
+2	-1.6773	1.1266	1.5663	0.16226	-0.34514	0.84293	-0.44423	1.0172	-0.78509
+2	-0.7714	0.64263	0.67055	-0.12578	0.030391	0.57791	-0.87634	0.28154	-0.261
+2	-1.0233	1.1382	0.044689	-1.1241	0.94709	-0.58888	-0.6081	-1.1033	0.0014883
+1	-0.89032	0.083064	-0.12604	-0.88751	-0.91556	0.98782	-0.96295	0.75564	-0.69265
+1	1.3655	-1.0533	-2.2171	0.66166	0.025806	0.67579	0.34249	-0.62323	1.0886
+1	0.56399	-0.71728	-2.1219	0.31633	-0.71031	0.87407	-0.34701	0.53176	0.10037
+1	-0.29942	-2.2988	-3.1477	0.24441	-0.72899	0.88463	-0.8288	-1.1141	-0.93797
+2	-1.6019	1.5308	0.77275	-0.1597	-0.62304	-0.59345	2.1367	0.64165	-1.6089
+1	0.43998	-1.5333	-1.9005	0.44722	-0.13187	0.57419	-0.61413	-0.37988	0.13118
+1	0.32451	-0.97656	-0.87335	0.35494	-1.1928	-0.086298	-1.1026	-0.97919	-0.21726
+1	1.1693	-0.39422	-1.1447	-0.52351	-0.30333	-0.48954	-2.0032	0.46507	0.28567
+2	-1.0178	-0.043439	0.70679	0.14463	0.58141	0.098977	-0.88721	-0.15542	-0.56848
+2	-1.864	0.19456	0.95611	-0.51705	-0.71043	0.72604	-0.62148	0.50157	-1.4442
+1	1.1946	-2.0839	-0.6101	-0.83583	-0.63001	-2.1693	0.72895	-1.5658	-0.082817
+1	1.1312	-0.95042	-0.78674	-0.86549	-1.6625	-1.463	0.99593	-0.16553	-0.34155
+1	0.1384	-1.7694	-1.1965	0.66966	-0.69619	0.30805	-0.080061	-1.5587	-0.319
+1	1.4232	0.30662	-1.3935	-0.69947	-0.00055014	-0.019403	1.7703	1.0318	0.42129
+1	1.3138	-1.6567	-1.8236	-0.83594	0.59818	-1.9568	-0.73185	0.59719	0.62349
+1	2.1276	-1.5641	-1.0272	-0.22706	-0.61297	-0.86845	-0.16811	1.1233	0.63294
+1	0.86327	-1.1672	-0.4862	0.32957	-0.080302	0.81128	0.71627	0.55966	0.56367
+2	-1.1147	1.2413	0.85755	-0.98983	0.37471	-1.5058	0.52838	0.36411	-0.48627
+1	0.75511	-1.5314	-1.2234	-0.066617	0.54207	-0.84565	-0.12893	1.9402	0.7808
+1	1.1796	-1.5249	-0.84271	0.7095	0.87459	0.4211	0.58894	-0.13679	0.9324
+1	0.93365	-0.83064	-1.7063	-0.39808	-0.20153	-0.35447	-0.30854	-0.57078	0.36515
+1	1.8917	-1.3609	-1.8857	-0.17194	1.2951	1.1315	1.4558	-0.089841	1.2983
+2	-2.5895	-0.48061	0.79532	0.78346	-0.065639	-1.4548	-0.32083	-0.6721	-0.66455
+2	-0.63117	1.7367	0.74948	-0.57156	0.163	0.86543	0.20003	-0.75063	-0.21691
+1	0.95464	-0.59931	0.43364	-1.307	0.20536	-1.2766	1.1449	0.17596	0.4256
+2	0.38623	0.55334	1.5367	-1.3081	1.5091	-0.032931	0.56364	0.54856	0.53007
+1	1.1646	-2.9641	-0.86913	-0.68118	-0.086229	0.93707	-0.76042	0.057056	0.064744
+2	-0.51373	2.3748	0.37243	1.8737	1.2164	0.68405	-1.2926	0.33967	0.46045
+2	-1.716	-0.27518	0.71898	2.139	-1.1262	-0.42262	0.11487	1.2112	-1.1357
+1	0.81098	-1.6862	-1.1448	1.5806	0.07478	2.1746	-1.067	-1.0274	0.15241
+2	-0.52225	1.1834	1.2802	-1.2321	0.53041	-0.29027	1.498	-0.42998	0.29824
+1	1.4067	-0.73586	-1.4675	0.36902	1.0718	1.0513	1.6971	-0.35651	1.4181
+1	1.6396	-0.50918	-1.5239	0.079563	-0.21164	0.21185	1.565	-0.65063	0.82484
+2	-1.8129	1.1552	0.21773	0.85556	-0.54894	-1.3206	-0.70958	-0.76325	-0.45363
+1	0.08024	-2.4412	-2.6136	0.63901	-0.43723	0.30985	-0.87622	0.32545	-0.64188
+2	-1.3992	1.86	0.38514	-0.16959	-0.24569	-0.82319	-0.33765	-1.4312	-1.2661
+2	-0.86537	1.8958	0.18147	-1.9666	-0.72909	0.10657	-0.67092	-0.092301	-0.26755
+1	2.036	-0.70975	-0.61637	-0.56185	0.88033	0.41052	-1.1744	1.3238	1.9451
+1	-0.72085	-1.0706	-1.5233	-1.0609	-2.2981	-0.92031	0.85305	0.92412	-2.0596
+1	0.55799	-0.18829	-1.3832	-0.54916	-0.1609	1.5505	0.19265	-0.46904	-0.37963
+1	0.57613	-0.29024	-0.82884	-0.28827	-0.62227	-1.1992	-0.81165	1.2746	-0.14435
+2	-2.1458	-0.13362	1.3613	-0.6849	0.26747	0.16034	0.47253	-1.0468	-1.4435
+1	0.75481	-0.80985	-1.7562	0.11274	-1.361	0.2692	-0.33398	-1.981	-0.45146
+2	-0.63689	1.4115	1.1256	-0.48954	0.22227	0.083383	-0.68005	-1.3527	0.15794
+1	0.20488	-0.8585	-1.7057	-0.10785	-0.51512	-0.21105	-0.2347	0.50991	-0.2296
+1	0.33051	-0.82281	-1.4551	-0.49943	-2.2164	-1.243	0.92027	-0.28432	-0.9815
+2	-1.5323	1.4825	0.19568	-1.2659	0.39757	-0.31925	-1.2746	1.0148	-1.2882
+1	1.5044	0.37718	-2.1235	-0.61248	0.60182	2.0258	1.4868	-1.3682	0.2884
+2	-1.6985	1.5229	0.84929	-0.10283	0.041132	0.4637	0.8772	0.68429	-0.14624
+2	-1.3935	1.1026	0.31729	1.3348	0.69002	0.8169	-1.0187	-1.2712	-0.32986
+2	-0.86151	1.1122	1.3	-0.32921	-0.41074	-0.70612	0.6009	0.3163	-0.097953
+2	-2.0673	1.6355	0.097123	0.91473	0.5959	1.3796	-1.1231	1.8893	-0.22321
+2	-2.4777	1.7124	-0.15192	-0.52093	-0.16443	0.4923	0.66793	-1.2934	-0.85227
+2	-1.3134	0.016105	1.4176	-1.6019	0.1775	0.25622	-0.55297	0.3436	-0.7072
+2	-1.0597	1.7595	0.80528	-1.8325	0.76506	-0.3233	-1.6869	2.265	-0.08971
+1	1.1695	1.0881	-0.63283	-1.785	-1.7752	-0.58415	0.69137	0.82675	-0.3004
+1	2.1262	-1.8156	-0.39282	-0.80595	0.050324	-0.16373	-0.47151	0.80027	0.54389
+1	1.063	0.25296	0.17061	-0.1157	-0.59899	-0.43356	0.60152	-1.3515	1.3947
+1	-0.10155	-0.81702	-0.9886	-1.1247	-1.0497	-1.185	-0.15332	0.4469	-0.096871
+2	-0.57577	0.74889	1.8408	0.28509	1.5472	1.9763	1.6429	-2.0436	0.74455
+1	-0.75989	-1.2425	-0.34199	-0.818	-2.3858	0.47522	-0.23387	-0.28078	-1.309
+2	-2.0495	2.5682	1.5694	-0.41676	-0.74454	-2.4393	-1.1153	-0.57367	-0.54138
+1	0.77924	-2.4438	0.15312	1.4288	-1.2908	0.81841	-1.6958	-0.26358	0.81237
+1	1.3679	0.40158	0.13439	-1.4677	0.89536	0.41708	-1.1908	0.96858	0.56786
+2	-1.4326	-0.13779	0.41395	-0.42952	-0.17306	2.1264	-1.3315	0.86756	-1.089
+1	0.88958	-2.3905	-0.67529	1.2911	-0.38016	-0.3412	1.1386	0.057707	-0.36773
+2	-1.5711	0.45979	1.0688	0.26169	-1.6144	-0.35448	-0.53559	0.42875	-1.6729
+1	1.0892	-0.40625	-1.2024	-0.24455	0.22748	0.98424	0.43801	-0.59885	0.46111
+2	-0.99813	0.68247	1.2314	-1.1455	0.047651	0.30609	0.32837	0.35498	-0.81578
+2	-0.68839	1.6801	2.0582	-1.4603	-0.88636	1.3908	-0.57986	-0.0037434	-0.53515
+1	0.40464	-2.6344	-0.28752	-0.51213	-0.48685	0.69834	-1.2208	0.065339	-0.45076
+2	-2.4333	-0.012759	1.469	2.659	-0.5377	-0.71507	1.0595	-0.18563	-1.5926
+2	-0.6268	1.4389	1.2319	0.08302	0.44274	0.39782	-0.67528	0.38559	-0.65921
+2	0.8026	0.80659	1.1495	0.74086	1.2964	0.062532	-0.28188	1.5504	1.1851
+1	0.21066	-1.3587	-1.018	-0.87592	-0.69085	-0.72849	0.38214	0.62269	0.18878
+1	1.0048	-0.91952	-0.66448	-1.3416	0.25265	-1.2612	-0.049135	0.82484	1.005
+2	-1.7507	1.7795	1.0866	1.9423	0.058961	0.96838	-0.3094	-0.2146	-0.7414
+1	0.97472	-0.061041	-0.36624	-0.7592	0.64262	0.81729	0.82749	1.823	0.34266
+1	-0.18399	0.0091627	0.45289	-1.2116	-1.9977	1.0641	0.8541	-0.49246	-0.92098
+1	2.9043	-1.4253	-1.4868	1.7467	0.4367	0.05544	0.35801	-0.91383	1.8223
+2	-2.5691	0.54849	1.5138	-0.75521	-1.646	0.98134	-0.18735	-0.6348	-1.9734
+1	2.3396	0.33806	0.69458	1.1091	1.2125	0.33828	-0.35002	1.1751	2.2485
+1	1.6685	-1.3783	-1.9317	-0.42944	1.2029	-1.4867	0.066998	-0.79486	1.4035
+2	-2.0928	0.53632	0.66581	1.2841	-0.60555	0.040915	3.1538	-0.056627	-0.83943
+1	1.5062	-0.82059	-0.74344	0.44647	0.59511	0.72422	0.62593	1.4268	1.2028
+1	0.37623	-2.4777	-1.3103	0.80402	-1.0351	-0.65952	1.4683	0.29902	-0.49379
+1	1.4315	-2.0349	-0.31206	0.050746	-0.13336	-0.038433	-0.51562	0.99598	0.8749
+1	0.46095	-1.5658	-1.8801	-0.54485	-0.65584	0.76544	0.2493	-1.0033	0.76074
+1	2.6758	-1.3401	-0.74083	-0.48907	1.4859	0.80109	0.084022	-1.1922	2.1735
+1	2.0061	-1.4527	-1.0237	-0.0063521	0.45363	-0.80533	0.53272	1.6309	1.1671
+2	-0.13994	1.3236	0.36193	-1.5754	0.31655	-0.87259	-0.30997	0.42034	0.078694
+1	0.48288	-1.4314	-1.2834	-0.79288	-0.031895	-1.3756	1.1439	0.092314	-0.51815
+2	-0.47435	0.79761	0.43073	0.79731	0.57061	-0.28187	-0.50956	0.11834	-0.90176
+1	0.29318	-0.50799	-1.2929	0.33339	-1.3628	-0.65651	1.332	-0.60648	-0.83894
+2	-1.606	1.6449	0.77136	-2.1167	-0.16742	1.837	0.85353	-0.61236	-0.63417
+1	-0.1001	-0.77059	-1.5772	-1.6877	-0.97173	0.63499	-0.3566	0.22712	-0.64236
+1	1.2767	0.51264	-1.027	-1.5029	0.52605	1.3738	0.83457	0.29704	0.33919
+1	1.1191	-0.064296	-0.48267	-1.782	-1.2738	0.17159	-0.28188	0.29923	-0.58741
+2	-0.63826	1.8527	1.7133	-0.056135	1.8808	-1.6172	-1.0494	0.61158	0.043977
+1	1.2643	0.64783	-1.0678	0.74684	0.01604	0.0964	3.1502	1.0929	0.73344
+1	0.12706	-0.4412	-0.89289	-1.3539	-0.058561	0.67775	-0.3655	0.095055	0.96019
+2	-3.0835	1.5862	0.75303	-0.24237	-1.08	-0.96917	-0.3816	-0.81532	-2.8002
+1	0.51225	-1.7399	-0.75798	-0.067637	-1.3492	-1.6732	0.13661	0.60332	-0.10099
+2	-1.7725	0.80999	1.2954	1.1806	-0.26584	1.0747	-1.4449	-0.67675	-0.87535
+1	0.14033	-1.4421	-0.77783	-0.66938	-0.73477	0.79103	-1.159	-0.063733	0.25614
+2	0.076697	0.50986	1.3258	1.965	0.90572	-0.69409	-0.34803	-0.63785	0.081812
+1	0.66949	-1.0812	-0.32498	1.1384	-0.35031	0.88344	1.5788	0.36127	0.94262
+1	1.8522	-1.2292	0.14775	-0.72146	-0.62468	0.46004	1.3635	-0.57543	0.34048
+1	1.0906	-0.60665	-0.65963	1.0382	-0.42593	1.3403	-0.15771	0.76656	-0.12989
+1	0.27921	-0.21562	-0.17954	0.91419	-2.0093	1.7467	-0.4308	-1.0916	-1.2044
+1	1.1757	-1.4632	0.1861	-0.99194	0.13545	2.4954	0.10044	-0.27133	0.69247
+2	-0.99062	-0.018655	1.4302	0.24467	1.1165	1.0648	-1.6885	1.0959	0.95405
+2	0.86302	0.92628	1.1209	2.4521	0.28548	0.38878	1.5759	-0.85559	0.53646
+1	0.69515	-0.49791	-1.0236	-0.92469	-1.2116	1.3456	-0.79874	1.204	-0.56016
+2	-2.4796	1.3958	0.87657	0.44706	-0.16121	1.5481	0.71852	0.27896	-0.66289
+1	0.43301	-0.79901	-0.59228	0.77222	-1.3966	0.25029	1.254	0.29857	-0.62542
+1	-0.27647	-1.1822	0.41671	-1.3611	-0.55777	-0.50963	-0.30934	-0.59363	0.061939
+1	0.38513	-2.9318	-0.54247	0.37014	-0.073925	1.5321	0.23051	-0.57138	0.11674
+2	-1.8571	0.45699	1.201	0.10404	-0.60138	-1.7736	0.42053	-0.79846	-1.4224
+1	0.62359	-1.7125	-0.62582	-0.042918	-0.36669	-0.56715	-0.062339	0.89859	0.30456
+2	-1.6533	0.84354	1.6735	-1.2605	-0.43289	0.48404	0.28039	0.78245	-0.57258
+2	-0.080794	1.1924	1.4788	-0.67232	0.47322	1.1845	-0.012908	-1.4312	0.93776
+1	0.16058	-0.57081	-2.6514	1.4884	-2.1855	0.65477	0.47093	0.15081	-1.1277
+2	-1.1955	0.99242	0.9036	0.18329	0.18	-1.2844	-0.11974	0.18755	-0.45505
+1	1.1671	-2.6976	-0.50301	-0.58948	-0.51739	-0.45284	-0.012968	0.20125	0.57372
+1	-0.32345	-1.1455	-1.2572	0.10599	-0.55736	-0.50023	-0.14238	-0.46824	-1.259
+1	-0.25853	-1.7978	-0.029919	-0.29829	-1.0868	1.6792	-1.0787	-2.2796	-0.53019
+1	-0.36174	-1.3337	-1.1195	-0.31725	-0.95852	1.0132	1.7214	-1.0866	-0.13132
+2	-1.1173	0.24817	1.2532	-0.7469	0.27598	-0.84941	-0.49835	0.56046	0.59012
+2	0.30144	2.7931	0.91519	-0.84696	0.23668	-0.88296	0.72892	1.0513	0.19212
+1	1.4905	-0.4007	-0.54397	0.15127	-0.74687	0.61323	-1.8356	0.59089	1.1093
+1	-0.35132	-1.9883	-1.256	0.93049	-0.70667	-0.28659	-0.42879	-1.362	-0.50144
+1	1.2429	-1.5525	-0.20626	0.072086	-0.39782	0.68157	-0.53323	1.8666	0.045473
+2	-1.2196	0.14752	-0.53211	-0.7467	1.1406	-0.56244	0.29943	-1.4297	0.46157
+2	-1.6198	1.9155	1.2365	-0.95186	-0.06658	0.96942	-0.18211	-0.49517	-0.41439
+2	-1.0683	0.96089	1.1544	-1.6614	-0.35334	-0.4625	-0.21637	-0.32475	-0.10647
+2	-1.6914	1.0877	0.4725	-1.5111	0.83773	0.32967	-0.94111	1.3745	1.1852
+1	0.84313	-0.24952	-0.56678	-0.27797	-0.54407	-1.3431	-0.25809	1.282	-0.056027
+1	-0.035988	-2.0608	0.40945	0.30565	-0.62316	0.29468	-0.23983	-1.3008	-0.22695
+2	0.075977	1.9441	0.49189	0.37696	0.70796	-0.86073	0.4114	0.22453	0.98819
+2	0.28842	1.232	0.33576	0.038484	0.8227	-0.67275	0.41736	0.022429	1.0885
+1	1.6374	0.024546	-1.7459	-0.57923	0.68063	0.16658	0.0016636	0.47144	1.1552
+1	1.8588	-0.93368	0.28434	-0.7861	1.8997	1.5632	0.67609	1.9808	2.1869
+1	1.1439	-2.5158	-0.94428	1.3944	0.47815	1.0813	-0.82034	-0.4671	1.6872
+1	-0.83643	-1.1109	0.74783	0.14825	-1.8961	0.53083	0.12628	-0.97035	-1.2131
+1	0.80792	-1.2206	-0.53769	-1.9796	-2.0225	-1.3183	1.5367	-0.089998	-0.63818
+1	0.46322	-1.6832	-0.68896	-0.11466	0.82291	0.49543	0.64194	-0.78985	0.7928
+1	1.1134	-0.7632	-0.52309	0.050666	-0.11115	0.22091	-0.50697	-0.083966	0.28955
+1	1.6489	-1.4257	-0.079768	-0.17866	1.3682	0.99716	-0.14071	0.57401	2.0271
+2	-3.4201	1.1332	0.55733	1.7639	-1.0408	0.49521	-0.89075	0.63786	-2.4173
+2	0.049496	0.17018	0.63955	0.82924	0.50401	1.7456	1.2791	-0.82747	-0.056268
+1	0.82888	-1.6152	-0.67552	-0.18412	-0.8324	0.63814	-0.32875	0.56435	0.45993
+1	0.38504	-0.014272	-0.79157	0.17829	-1.0883	0.34832	-1.2247	-0.11977	-0.48077
+2	-1.4876	0.61139	0.9406	-0.32299	-0.4817	0.91219	0.97626	-0.25486	-0.64597
+1	1.3562	-0.30066	-1.6972	-0.51976	-0.31725	-0.76347	0.90608	-1.1069	1.1407
+2	-2.5614	0.1045	1.6435	0.97534	-1.3122	-0.7861	-0.20101	0.13606	-1.6992
+2	-2.6662	0.95905	-0.35403	-0.3552	-1.8512	-0.15132	-0.41612	0.31836	-2.2106
+2	-0.00031444	0.62953	0.088267	0.68222	1.0037	-0.97501	0.05455	2.1016	0.79972
+2	0.22638	1.2227	1.4105	0.80602	0.55541	-1.5322	0.0043904	-0.15507	0.68087
+2	-2.334	1.5675	1.163	0.272	-1.2525	0.60333	-0.37448	0.8214	-1.9516
+1	1.2905	-0.88687	-1.3286	-2.4723	-0.20557	-0.46225	-0.43282	0.0080673	0.6155
+1	0.4564	-0.76149	-1.0996	0.91754	-1.2544	0.85041	-1.4562	1.2935	-0.46559
+1	1.4499	-0.66586	-0.35765	-1.2333	0.27339	0.71405	0.31118	0.35473	0.29444
+2	-0.77922	-0.42723	1.5001	0.0051638	1.708	-1.1243	-1.7226	0.88573	1.091
+1	1.4447	-0.16076	-0.43264	-1.3692	0.49062	0.72536	1.0569	-1.0645	1.0431
+2	-2.1249	1.55	1.0703	-0.33715	-0.93988	-0.46815	0.37327	0.14989	-1.378
+2	-2.1409	1.9364	0.89125	-1.3418	0.0029328	-0.62313	-0.08749	0.8668	-0.022832
+1	1.3168	-0.52716	-1.8803	-0.036537	0.018738	-0.35049	-1.0451	0.91575	0.5615
+2	-0.71066	1.9845	1.49	0.34891	1.2436	-1.4879	-0.19868	-1.2859	1.4068
+1	1.5001	-2.1148	-0.77803	2.3299	1.4564	-2.0676	-0.022721	-0.10446	0.26055
+2	-0.6739	0.41846	1.7318	0.68893	0.13108	-0.31544	-1.5612	1.2954	-0.92584
+1	1.4702	-1.0425	0.6928	0.072418	0.54485	0.85063	0.0081416	-1.4887	1.4283
+1	0.70021	-0.96049	0.073815	-0.42884	-0.069394	-0.21559	-0.026326	1.4426	-0.1714
+2	-1.1011	1.959	0.42525	-1.1689	-0.59141	0.10594	0.018948	0.20462	-0.52074
+1	1.4069	0.39853	1.1331	0.19914	-0.10243	0.018621	-0.43318	-0.66927	0.39015
+1	0.87655	-1.0124	-1.224	-0.46666	-0.07615	0.58575	-2.5462	0.94584	0.028689
+2	-1.4734	0.60836	0.57896	-0.63359	0.57633	-1.7896	0.17572	1.9757	-0.63815
+1	1.0333	-1.5614	-1.5383	1.438	0.52141	0.24245	-0.53578	1.6605	1.2533
+2	-0.3273	1.0926	1.1519	0.16952	1.0365	-0.23815	0.64169	0.60631	0.070148
+1	1.7758	-1.2199	-0.5642	-0.30348	-0.64616	0.58837	0.3667	-0.22602	0.18959
+1	1.5199	-1.4167	0.75493	-0.56876	-0.25767	-0.15304	-0.50137	0.95964	0.82786
+1	1.4824	-1.6233	0.43914	-0.42964	-1.3404	0.22643	-0.1404	-0.61313	0.084143
+1	0.44429	-0.57239	-0.87756	0.35081	0.18739	-0.3721	-0.026971	0.30198	0.1578
+2	-0.99851	1.6131	-0.023407	0.93921	-0.39113	0.3954	0.61223	-1.5171	-0.23186
+1	1.5526	-0.53216	-1.2919	0.2302	-1.4551	-0.78631	0.76506	-1.3068	-0.65802
+1	0.94848	-0.51015	-1.0914	2.9383	0.26782	-0.85511	-0.60545	0.54075	0.66057
+1	1.3473	-1.6193	-1.3367	0.35306	1.0269	0.9064	0.45715	1.1513	1.8352
+2	-1.8273	2.0565	1.3104	0.29618	0.35044	-0.48547	0.88384	0.14121	-0.5916
+1	1.5566	0.31096	-1.8396	-0.42655	1.4972	-0.77059	0.19228	-0.23885	1.1498
+2	-0.91541	1.1099	-0.025734	0.51863	0.20206	-1.1191	-1.1133	0.045123	-0.50422
+1	0.51812	-0.60581	-0.51525	-0.27024	-0.24289	-0.12177	0.08843	-1.1701	0.54732
+2	-2.2517	1.8548	0.3887	-0.48496	-0.44221	0.94129	0.86746	-1.3026	-1.1678
+2	0.18212	0.78036	0.37111	-0.27298	1.7074	0.34353	-1.4465	0.42845	1.358
+1	1.4023	-2.1882	-1.587	-1.7672	-1.0834	1.6286	-1.2021	-1.6029	-0.13929
+2	-1.2956	2.1152	2.7519	0.066883	1.1916	-0.43506	1.3982	0.50402	0.12064
+1	2.3367	-0.27214	-1.3764	0.11017	1.453	-1.5568	0.8465	-0.078289	1.7156
+2	-0.50576	1.8409	0.39684	-0.67433	0.52285	0.39823	0.79306	-0.45694	-0.26349
+1	1	-0.59182	-0.31766	0.98958	-0.2262	0.51294	-0.60031	1.0725	0.59729
+2	0.19153	0.8046	1.643	0.034662	0.859	0.7859	-0.32844	0.67515	0.20322
+1	1.7901	-0.59357	-1.2522	-1.4543	-0.68975	0.39807	0.66376	-0.34466	1.1902
+1	1.7089	-0.060397	0.35043	0.80625	0.099879	0.35182	-0.79309	-1.5215	1.0715
+2	0.1343	0.95427	0.96941	1.4958	1.5293	0.80648	0.27086	0.22725	1.1392
+1	2.8634	0.47861	-2.0142	0.11694	1.8637	0.021456	-0.030072	1.0836	2.0311
+2	0.48387	-0.64355	1.4169	0.74074	1.2122	-1.1388	-0.27931	0.32164	0.54646
+2	-0.74265	2.4938	2.0609	0.27613	0.097949	0.19312	-0.5424	0.075476	-0.43488
+2	-0.29163	0.040455	0.82654	-0.28016	1.2311	1.9005	0.3332	0.84937	1.0188
+1	1.4611	0.12262	-1.6808	0.83668	0.73216	-0.78731	-0.78309	0.048527	1.9664
+1	0.18222	-1.1837	-0.45627	-0.39739	-1.7104	0.031619	1.0594	-0.63454	-1.8183
+1	-0.65677	-0.84807	-1.6193	-0.47942	-1.0684	0.88853	-0.89937	0.52119	-1.4839
+1	1.2698	-1.435	-0.63897	-0.01313	-0.99173	2.5522	-0.56152	-0.56106	-1.1274
+1	1.385	-0.13768	-1.0754	-0.47919	-0.003611	-1.5125	0.052625	1.5811	-0.12839
+2	-1.0548	0.052238	0.2412	0.27463	0.22433	1.4336	1.0572	0.26996	0.41029
+1	0.7721	-0.67292	0.39868	0.37861	-1.4934	-0.47718	0.17927	0.85268	-0.72091
+1	1.2427	-1.9735	-0.29186	-0.52621	-0.11644	-0.43715	-0.24664	-0.93071	0.31767
+2	-2.8043	1.0978	1.4787	0.36056	-0.96764	0.88555	-0.15218	0.98887	-1.5008
+2	-1.2951	0.83324	1.171	-1.2691	0.36927	0.76625	-0.92005	0.24768	-0.054118
+2	1.3095	0.99843	0.13992	0.66979	2.1828	0.89717	-0.72625	-0.34445	2.1892
+1	1.2584	0.38994	-0.68463	-0.18974	-0.78064	0.77286	-0.83635	-0.60385	0.92861
+2	-1.0711	2.0033	1.0809	-0.51058	-0.023381	0.67482	-0.59591	1.1403	-0.45183
+2	0.21944	1.3571	1.4359	0.78966	1.663	1.6785	0.58208	-0.74842	0.20906
+1	0.011518	-1.0425	-1.1304	-0.070319	-2.5168	0.39814	-0.33423	-0.78894	-2.0357
+2	0.69198	0.5718	0.47852	0.63681	1.8381	-0.38219	-0.27264	-0.64378	2.0531
+1	1.7602	-0.041861	-1.5806	1.2187	0.62789	0.63859	-0.56816	1.0461	1.2766
+1	1.3974	-0.72864	-1.3122	0.98553	-0.40148	0.73259	-0.54019	1.2025	0.62291
+1	2.0292	-1.17	-0.92469	-0.4438	1.0769	0.3171	1.863	-1.4777	2.183
+1	0.82444	-0.11125	-1.7986	0.22037	-0.58058	-0.28998	-0.36893	0.1951	-0.014686
+1	-0.26775	-1.8824	-1.0596	-1.1796	-0.88341	-0.41298	0.2225	-0.34038	-1.9099
+1	1.0464	-1.5432	-1.1439	-0.16887	-0.58282	-0.58015	0.071053	-2.0172	0.40629
+2	0.48496	0.88721	0.068703	-0.062814	1.8539	0.76736	-0.69119	2.5673	1.7942
+2	-2.5964	1.666	0.64624	0.29818	-1.2247	-1.7919	-0.46627	-0.48313	-2.4143
+1	1.2985	-0.65098	0.20448	-0.94345	0.87214	-1.6734	-0.068609	-0.4095	1.9333
+2	0.22616	1.0924	1.3477	0.055694	1.4254	1.8744	0.11516	1.7865	-0.63249
+2	-0.088217	0.9008	0.6155	-0.80262	1.0367	0.52624	0.47333	-0.99159	1.1763
+2	0.49566	0.27083	0.36027	0.81907	2.1477	-0.09016	-0.060519	-0.84038	1.2276
+2	-0.95509	0.76962	1.617	-0.18465	0.54306	0.11383	-0.74663	1.2036	-0.15892
+2	-2.1626	0.76688	0.61098	-0.58151	-0.48433	-1.65	-0.4727	-0.81084	-1.991
+1	1.7072	-1.4061	-0.93099	0.20659	-0.6383	-0.52376	-0.59362	0.73275	0.14137
+1	1.1248	-0.25303	-0.59647	0.88007	0.15399	0.51682	0.81114	0.50757	1.0622
+2	-0.71804	0.42061	1.375	-0.1329	-0.13315	0.694	0.51403	0.7759	-0.19636
+2	-0.78286	1.5434	1.1806	-1.684	-0.84914	-0.26491	-0.18979	-0.39503	-0.52299
+2	0.014488	1.8201	0.1954	-0.95429	1.2411	-0.58396	0.55811	-0.46832	0.47374
+1	1.0749	0.50186	-1.2937	-0.90643	-1.2159	-0.19162	0.7674	1.3112	0.1246
+1	0.68887	-0.44578	-1.0028	-0.11492	-0.20396	0.84785	-0.15439	0.32438	-0.039298
+2	0.16742	2.9261	-0.74973	-0.39068	1.7798	0.42686	-0.080223	0.42411	1.6039
+1	-0.18087	-1.5505	-0.62971	0.016341	-1.5144	-1.0188	2.0846	0.043907	-1.1922
+1	0.95661	-2.0166	-2.1997	0.90248	0.54062	0.041709	0.90484	-0.85369	-0.13388
+2	-0.31077	0.51779	0.95641	-0.4625	1.0018	-1.0891	-1.3434	0.41807	0.50029
+1	0.91328	-0.44549	-2.0298	-1.174	-1.034	0.4279	-2.5807	0.4737	-0.85271
+1	-0.23575	-2.037	-0.2611	-1.4787	-2.7359	-0.17981	0.87371	0.47744	-2.3323
+2	-1.4541	0.20996	-0.05013	0.84273	0.46742	1.5516	-1.0325	0.70636	0.30572
+2	-1.2945	0.85979	1.4434	0.58762	0.48371	-0.71804	-0.9537	-0.78726	-0.53815
+2	0.74344	0.32219	0.79813	-0.31128	2.9169	-0.23629	1.4931	-0.35416	1.8392
+1	0.17191	-0.10805	-0.90104	-1.2155	-1.8461	0.41305	-1.3882	-0.70599	-1.4386
+2	-0.40498	1.9161	0.64926	-0.022772	0.98396	-0.26674	1.295	1.3676	0.78339
+2	-0.37054	1.509	1.6115	-0.58429	0.1452	1.167	-1.1994	0.076682	-0.76871
+2	0.61117	-0.31328	1.4496	-1.0086	1.5965	-0.44863	0.87281	-0.013992	1.2945
+2	-2.5627	2.5993	1.1595	-0.14098	0.0029615	0.58802	-1.7538	-0.44999	-1.599
+2	-0.871	0.043195	1.076	-0.56146	0.50375	0.85785	-0.11991	0.58565	-0.12111
+1	0.26437	-1.5194	-0.99247	2.0087	-0.53643	-0.028452	-0.60254	-1.0593	-0.44553
+1	1.4337	-0.4955	-0.38857	1.7006	-0.029221	0.72542	-0.5476	-0.25228	0.99248
+1	1.2526	-1.0033	-1.5107	-0.50129	0.52008	1.8291	0.25094	0.8054	1.4381
+2	-1.2973	0.63457	0.23922	-0.83426	-0.3921	0.48332	0.6937	-0.90008	0.28163
+2	-0.68226	1.0692	1.7561	0.16471	0.93344	-0.85611	0.17721	-2.744	0.79804
+1	1.1524	-2.2292	-0.55308	1.0928	-0.12293	-1.1935	1.2415	-0.70506	1.079
+1	0.9021	-0.91029	-2.3501	-0.4621	0.22359	0.6318	0.020605	1.0348	0.40828
+2	-0.76595	0.8248	1.9282	-2.1827	0.12486	0.79045	-1.0793	0.85428	-0.38859
+2	-1.8465	1.2372	1.4255	-0.64113	1.7146	1.75	1.0757	2.1723	-0.10888
+1	0.4124	-0.023721	-0.75091	0.0023936	-0.28659	-0.41428	-0.016011	0.6957	0.69187
+2	-0.45813	0.69702	1.7516	1.0408	0.15944	0.1227	0.38587	0.74631	-0.89003
+1	0.538	-0.35454	-0.3801	-0.53212	-0.68379	1.224	-0.77711	-0.90789	0.49391
+1	-0.20833	-2.8331	-1.3705	1.1197	-1.344	-0.82517	1.523	-0.91541	-0.96558
+1	0.7891	-1.2808	-1.1525	0.88602	-0.16858	-1.7123	0.77873	-0.20954	-0.16867
+2	-1.3314	2.8851	0.58893	1.7864	-0.23105	0.055718	-0.12725	0.76001	-1.5992
+1	0.73632	-1.3301	-2.9522	0.52725	-1.08	-0.06714	-0.94698	0.45418	0.41486
+1	-0.35063	-1.2931	-1.7601	0.69363	-1.4744	0.24266	-0.53511	0.79048	-1.1274
+1	0.49595	-1.7854	-2.069	-0.16771	-0.40006	0.44868	-0.4303	-1.5395	-1.066
+2	-0.83194	1.8975	0.64283	0.057645	-0.11672	-0.27891	0.11427	0.37462	-1.1174
+1	0.13137	-1.3172	-1.3952	0.60281	-0.59451	0.40422	-1.903	0.19047	0.63287
+1	0.79379	-2.4506	-0.74815	0.095119	-0.99504	0.56827	-0.27855	1.1757	-0.06042
+1	-0.082568	-3.4167	0.10544	-0.46771	-0.47642	-1.255	1.1708	-1.1147	-0.49832
+1	2.2039	-1.3601	-2.4033	-0.96653	0.33475	1.6743	-0.18215	0.26277	1.2449
+2	-2.4832	1.2267	1.3225	-0.44129	-0.82506	-0.44882	-1.3962	-0.7991	-1.6171
+2	-0.46149	0.35062	0.24453	0.83174	1.0664	-0.43189	-0.035901	-0.01857	-0.36555
+1	1.3889	0.052183	-1.2924	1.3615	-0.04596	-2.3656	0.38864	-1.7679	0.75491
+1	-0.68146	-1.242	-1.0646	-1.43	-1.2204	-0.57024	1.9686	-1.3026	-1.5174
+2	-1.7219	1.7273	1.3099	-1.4944	0.38043	-0.45523	-0.1014	0.22334	-0.28025
+1	0.4601	-1.2706	-3.0004	0.76391	-1.0926	-0.62232	-1.4501	1.8045	-0.8909
+2	0.63508	0.82051	0.86771	-0.03764	2.0161	0.47394	0.72173	0.1272	0.90096
+2	-0.50664	0.34365	-0.25494	-0.017548	0.40843	-0.051173	-0.39524	0.91238	-0.53873
+2	-2.0811	0.89924	1.0192	0.43669	-0.49654	-0.23137	0.41548	-0.30013	-1.4364
+1	-0.056347	-1.55	-0.99371	-1.2894	-0.54273	0.29751	0.20504	-0.42535	-0.30966
+1	0.63831	-1.9968	-0.82023	0.55724	-2.0781	0.85777	0.23729	-0.92902	-1.6423
+1	0.7966	-1.5913	-0.52401	-0.19794	-1.6834	-0.3534	-0.46345	1.1393	-0.65595
+2	0.10773	-0.33975	-0.087855	0.29636	0.96272	-0.39449	-0.9227	0.43119	0.37524
+1	1.0429	-2.6154	-1.0715	-0.95629	-0.89564	0.66231	0.11241	1.2325	0.32819
+2	-1.6843	1.3516	0.30108	0.72455	-0.23492	1.5917	0.52992	0.55089	-0.67923
+1	0.83236	-1.7333	-1.3285	-0.84552	-1.5398	0.63718	-0.92241	0.65631	-0.20652
+2	-1.4221	2.5458	0.98922	-0.97179	0.27368	0.51406	0.34173	0.18592	-1.2884
+2	-1.7862	0.7866	0.99765	-1.3351	0.49844	-0.43267	-0.53121	-1.4309	-0.56164
+1	1.4776	-0.21831	-0.99715	-0.43224	-0.74575	-0.54461	-0.93794	0.96267	-0.10238
+1	1.7229	-1.0653	-1.0424	-0.3796	0.61655	0.95133	0.98557	-0.36444	0.86756
+2	-0.23995	-0.13066	0.42758	2.147	1.4597	-0.19292	-0.86687	-0.39257	0.27569
+2	-0.20121	0.59656	1.9887	0.13145	0.1327	-0.19727	-0.05865	0.48741	0.25007
+2	-0.34495	2.2333	1.1524	-0.3531	0.51244	-1.0083	-0.22929	0.97338	0.57683
+2	0.03843	2.0985	1.5399	-0.44067	0.39468	0.66165	0.66233	2.0593	-0.89779
+2	-0.79583	-0.26167	1.7969	-0.83981	0.44149	0.7226	0.89209	0.58699	-0.022219
+1	0.44433	-0.9731	-1.1557	0.30092	-2.0491	-0.64077	-1.2024	0.27957	-0.594
+1	-0.5687	-1.2111	-0.75535	0.14432	-2.5169	2.0343	0.43688	0.19656	-1.4058
+1	0.74067	-2.7385	-0.5607	-0.1682	0.75534	-0.10032	-0.57514	-0.6271	0.86134
+1	1.3443	-1.3033	-2.9093	-1.1089	0.13087	-0.64097	0.3585	0.68683	0.40175
+1	0.34499	-1.2307	-1.0615	-0.056169	-0.66885	1.0018	0.82215	-1.2896	0.33605
+1	1.7055	-1.6123	-1.7269	1.149	0.91344	0.15816	0.08206	-1.0272	1.1846
+2	-2.257	1.8592	0.85977	1.5261	0.41802	1.6948	0.56961	2.0545	-1.7022
+2	-1.1666	0.71643	1.5052	0.88419	0.97675	-1.125	0.3411	-1.8831	-0.36783
+2	-2.8249	1.0453	1.0209	1.1005	-1.2481	-0.97923	-0.2972	1.2716	-1.4542
+1	-0.22349	-1.4876	0.16086	1.2627	-1.3753	-1.4312	1.5506	-0.28627	-0.13164
+2	-1.6498	0.87841	0.00037123	0.074895	-0.55409	-0.36662	1.0731	2.664	-0.749
+2	-0.46646	0.70235	1.1324	-2.5793	0.67907	0.35468	-0.32694	-1.1455	0.56525
+1	1.2694	0.46784	-1.4293	-0.50127	-2.0587	-1.8261	0.36831	1.7871	-1.5834
+1	1.5754	-1.0397	-0.5639	2.0739	0.53841	-0.70667	-0.65273	1.3444	0.45546
+1	-0.13986	-0.92734	0.87918	-0.72209	-0.5052	0.39414	-1.8605	0.98483	-0.37829
+2	-0.95014	0.83973	1.4337	-1.1105	0.072627	-1.2172	-1.6062	0.079614	-0.040378
+1	1.1359	-1.4676	-0.79366	0.068314	0.20653	-0.21332	0.8022	0.58405	0.92071
+2	-4.4596	1.8899	1.1644	0.58514	-2.6451	-0.26627	1.6536	1.2677	-3.7338
+1	1.5815	-1.7598	-1.5736	0.46493	0.015353	-0.31082	-2.2055	0.14685	0.11537
+2	-0.79178	0.27783	0.5954	-0.78667	0.40642	0.42974	-0.63366	1.0762	0.62431
+2	-1.0134	1.2166	1.1865	1.5637	1.1099	2.4594	0.40801	-0.85353	0.72663
+1	0.77943	-1.4202	-1.6749	0.0012415	-0.83458	-0.12672	-0.94554	0.89884	0.012849
+2	-1.4274	0.9359	0.88402	-0.76419	-0.50766	0.55146	-0.63931	-0.65644	-1.0529
+2	-0.71825	0.92276	1.0007	1.2904	1.4708	-0.52982	0.9275	0.94508	0.4575
+1	0.502	-1.2444	-0.25346	1.2023	0.16167	0.85576	0.034795	0.46868	1.3265
+1	-0.025698	1.1754	-1.0638	1.0218	-2.0164	0.55502	-0.12178	-0.10811	-1.6111
+2	-0.86777	0.31084	1.7383	0.39918	0.22035	0.14221	1.646	-0.97712	-0.59459
+2	-0.19808	1.9089	0.60873	0.12475	0.10092	-0.5944	-0.66923	0.055193	0.31899
+2	-1.0644	2.2357	0.13503	1.2076	1.657	-0.83795	-0.46089	0.42362	0.29853
+2	-0.53265	0.76969	1.0687	-0.79048	1.1924	0.53681	-0.38366	-1.1613	0.42401
+2	-1.4567	1.5038	1.7125	-1.9757	1.1075	-0.81071	0.29591	0.95985	-0.25161
+2	-2.7546	-0.21024	-0.041926	-0.24552	-0.6494	1.8608	0.86785	1.3512	-0.89236
+2	-0.54365	0.8237	-0.31856	-1.6296	0.73174	0.89915	0.91228	-0.66788	0.075926
+1	0.65472	-2.4675	-1.2267	-0.64632	-0.24147	0.5015	-0.24368	1.7307	-0.33117
+1	1.9061	-2.4358	-0.62051	-0.40306	0.35877	0.13681	0.5665	1.1077	0.90585
+1	-0.34786	-0.97138	-1.3607	0.74793	-2.3185	1.1517	0.35912	-0.22501	-1.7136
+1	1.509	-0.58183	-1.336	0.095131	-1.0719	-0.17454	-0.42425	0.21663	0.41672
+2	-1.1281	0.73596	1.3241	0.75066	-0.0098067	0.94941	-0.88569	0.96608	-0.58258
+1	2.0808	-1.2665	-0.27892	0.034005	1.5957	0.34276	-1.3939	0.20516	1.0361
+2	-0.27208	1.3514	0.78429	0.54442	1.2344	-1.0745	0.28837	-0.84074	-0.20416
+1	2.5732	-1.8429	0.35018	0.47113	-0.22532	-1.779	1.5326	-1.0015	1.0285
+1	1.524	-2.2514	-1.7375	-0.45648	1.0921	-1.1141	1.436	0.99093	1.3581
+1	0.60324	-0.46804	-0.11489	-2.454	-2.7665	0.61676	-1.5213	-1.192	-1.4163
+2	0.29712	1.188	0.57954	1.3259	0.95488	-0.70707	0.067457	0.47216	1.0369
+2	-0.97992	0.019053	1.3311	-0.33347	0.2814	-1.2616	0.90909	-1.0725	-0.62617
+2	-0.9056	0.73973	0.35093	-2.111	-0.50769	1.2491	0.64846	-1.0716	-0.35201
+1	1.3209	1.9154	-0.56509	0.70008	-1.6874	-0.92485	1.2406	1.7231	0.39622
+2	0.10632	0.88089	1.1544	0.27737	2.4332	-0.063819	-0.084136	-0.58305	1.1337
+1	0.7003	-1.4112	0.77725	0.95921	-1.239	-2.6684	-0.48008	-0.92359	-0.94882
+2	-2.0912	0.21124	1.0428	1.3279	-0.6659	-0.89398	0.5482	-0.029518	-1.2925
+2	-1.1484	2.2537	1.3423	-0.20816	0.31427	1.3603	1.6596	-0.49629	-0.63146
+1	1.2996	-2.8499	-0.97843	0.57176	-1.0424	-0.30734	-1.7632	-0.64856	-0.28028
+1	2.4392	-0.85404	-0.1262	-0.054289	0.1684	-1.3913	-0.4719	1.0582	1.4183
+2	-2.8357	2.1818	1.307	-1.1424	-0.97969	0.53689	0.33598	-0.11592	-2.0398
+2	-3.381	0.65778	0.8815	0.35115	-1.0556	-0.15942	-0.15958	0.57712	-2.8992
+1	1.9169	-0.15977	-1.1239	0.80773	-0.63434	-0.77712	-0.74684	0.97499	0.8461
+1	1.3703	-1.0164	0.45114	0.073799	1.259	0.40628	-0.11775	0.14354	2.0331
+2	-0.57067	-0.26266	0.56169	0.65535	0.78349	-0.66788	-0.41928	-0.77901	-0.27518
+1	-0.31373	-3.348	0.66363	-0.88205	-0.69595	1.0783	-1.9735	1.7579	-0.011735
diff --git a/sourcecodes/data/examplecar15node/eIAcontinuous_input_orig.txt b/sourcecodes/data/examplecar15node/eIAcontinuous_input_orig.txt
new file mode 100644
index 00000000..a31cb481
--- /dev/null
+++ b/sourcecodes/data/examplecar15node/eIAcontinuous_input_orig.txt
@@ -0,0 +1,1001 @@
+Voltage_at_plug	Car_cranks	Spark_plugs	Spark_quality	Distributer	Spark_timing	Car_starts	Headlights	Alternator	Charging_system	Battery_voltage	Battery_age	Main_fuse	Starter_system	Starter_motor
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	1	2
+3	2	2	2	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+2	1	3	2	2	3	1	3	2	2	3	1	2	2	2
+3	2	2	2	2	3	2	3	2	2	3	1	2	2	2
+2	2	3	2	2	3	2	3	2	2	3	1	2	2	2
+2	1	3	2	2	3	1	2	2	1	2	2	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+1	1	3	1	2	2	1	1	2	1	1	1	2	1	2
+3	1	3	3	2	2	1	3	2	2	3	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	2	2	1	2
+1	1	2	1	2	3	1	1	2	1	1	2	2	1	2
+2	2	1	1	2	3	1	2	2	1	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	1	1	2	3	1	2	2	2	2	2	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	3	2	1	2
+3	2	2	2	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	2	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	2	2	2	2
+1	1	3	1	2	2	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	2	2
+1	2	3	1	2	3	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+2	2	3	2	2	3	2	2	2	2	2	2	2	2	2
+2	1	1	1	2	3	1	2	2	1	2	1	2	1	2
+3	2	2	2	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	2	1	1	2	3	1	1	2	1	1	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	1	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+1	1	1	1	2	2	1	1	2	1	1	2	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	2	1	2	3	1	3	2	2	3	1	1	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	1	3	2	2	3	1	2	2	1	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	2	2	2	2
+1	2	3	1	2	3	1	3	2	2	3	1	2	2	2
+2	2	3	2	2	2	1	2	2	2	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+3	2	3	3	2	2	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	2	2	1	2	3	1	1	2	1	1	1	2	2	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	2	1	1	2	1	1	2	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+2	1	3	2	2	3	1	2	2	2	2	1	2	1	1
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+2	1	2	1	2	3	1	2	2	2	2	2	2	2	2
+3	2	1	2	2	3	2	3	2	2	3	2	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+2	2	2	1	2	3	1	2	2	2	2	2	2	2	2
+1	2	2	1	2	3	1	3	2	2	3	2	2	2	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	2	1	2	3	1	1	2	1	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	3	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+3	2	1	2	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	2	3	1	2	3	1	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	2	3	1	2	3	1	1	2	1	1	2	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+2	2	1	1	2	3	1	3	2	2	3	2	2	2	2
+3	2	1	2	2	3	1	3	2	2	3	1	2	2	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+2	1	1	1	2	3	1	2	2	1	2	1	2	2	2
+2	2	2	1	2	3	1	3	2	2	3	2	2	2	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	1	3	1	2	2	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	2	2	1	2	1	1	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	2	2	2	3	1	3	2	2	3	1	2	2	2
+1	1	2	1	2	3	1	1	2	1	1	1	1	1	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+2	2	1	1	2	3	1	2	2	1	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	2	1	1	2	1	2
+3	1	2	2	2	2	1	3	2	2	3	3	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	1	3	2	2	3	1	2	2	2	2	1	2	2	2
+1	2	1	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+2	2	1	1	2	3	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	2	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	2	1	2	3	1	2	2	1	2	1	2	2	2
+1	1	3	1	2	3	1	2	2	2	2	1	1	1	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	2	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+2	2	3	2	2	3	2	2	2	1	2	3	2	2	2
+3	2	2	2	2	3	2	3	2	2	3	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	1	1	2	3	1	2	2	2	2	1	2	2	2
+3	2	1	2	2	3	1	3	2	2	3	1	2	2	2
+3	2	2	2	2	3	2	3	2	2	3	1	2	2	2
+3	1	1	2	2	3	1	3	2	2	3	1	2	2	2
+1	2	1	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	2	2	2	3	1	3	2	2	3	1	2	2	2
+3	1	3	3	2	3	1	3	2	2	3	2	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	3	2	2	3	2	1	1	2
+3	2	1	2	2	3	2	3	2	2	3	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	2	2	3	2	2	3	1	2	2	2
+2	1	1	1	2	3	1	1	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	2	1	1	2	1	2
+2	2	3	2	2	3	1	2	2	1	2	1	2	2	2
+3	1	1	2	2	2	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	2	1	1	2	1	1	1	2	1	2
+3	2	1	2	2	3	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+2	1	3	2	2	3	1	2	2	1	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	2	1	2	3	1	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+3	2	2	2	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	2	1	1	2	1	1	1	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	3	2	1	2
+1	1	3	1	2	3	1	1	2	2	1	3	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	3	2	2	2	2	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	2	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	2	1	2	2	1	2
+3	2	3	3	2	3	2	1	2	2	3	1	2	2	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	1	1
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	3	2	2	3	1	1	1	2
+2	2	3	2	2	3	2	2	2	2	2	2	2	2	2
+3	2	3	3	2	2	2	3	2	2	3	3	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	1	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	2	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+3	2	1	2	2	3	2	3	2	2	3	1	2	2	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	1
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	2	3	1	2	3	1	1	2	1	1	2	2	2	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	1	2
+2	2	3	2	2	2	2	3	2	2	3	1	2	2	2
+3	2	1	2	2	3	2	2	2	2	3	1	2	2	2
+1	2	2	1	2	3	1	1	2	1	2	1	2	2	2
+3	1	3	3	2	3	1	3	2	2	3	2	2	2	2
+3	2	2	2	2	3	1	3	2	2	3	1	2	2	2
+3	2	3	3	2	2	2	3	2	2	3	1	2	2	2
+1	2	3	1	2	3	1	2	2	2	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	1	2	2	2	1	3	2	2	3	2	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	2	1	2	3	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+1	1	1	1	2	2	1	1	2	1	1	1	2	1	2
+1	2	3	1	2	3	1	3	2	2	3	1	2	2	2
+3	2	1	2	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+1	1	1	1	2	3	1	1	2	1	1	1	1	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	2	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	3	2	1	3	1	2	2	2
+3	2	1	2	2	3	2	3	2	2	3	1	2	2	2
+3	1	3	3	2	2	1	3	2	2	3	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	2	2	1	2
+1	1	1	1	2	3	1	1	2	1	1	2	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	2	2	1	2
+2	1	3	2	2	3	1	2	2	1	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	1	1	2	2	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+1	2	1	1	2	3	1	1	2	1	1	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	2	3	1	2	3	1	2	2	1	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+2	1	3	2	2	3	1	2	2	1	2	2	2	1	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	1	1	2	3	1	1	2	1	1	3	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	1	3	3	2	3	1	1	2	2	3	1	2	1	2
+1	1	3	1	1	2	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+3	2	2	2	2	3	2	1	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+1	1	1	1	1	1	1	2	2	2	2	3	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	2	2	3	2	2	3	1	2	2	2
+2	1	3	2	2	3	1	2	2	2	2	2	2	1	2
+2	2	3	2	2	3	2	2	2	2	2	2	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	1	2	2	3	2	3	2	2	3	2	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	3	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	2	2	2	2
+3	1	1	2	2	2	1	3	2	2	3	1	2	2	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	2	2	2	2
+3	2	1	2	2	3	2	3	2	2	3	1	2	2	2
+3	1	2	2	2	3	1	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	3	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+3	2	1	2	2	3	1	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	1	2	2	3	2	3	2	2	3	1	2	2	2
+1	1	2	1	2	3	1	1	1	1	1	2	2	1	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+2	2	3	2	2	3	2	2	2	2	2	2	2	2	2
+3	2	3	3	2	2	2	3	2	2	3	1	2	2	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	1	2
+3	2	1	2	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	2	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	2	1	1	1	1	1	2	1	1	1	1	1	2
+1	2	3	1	2	3	1	2	2	1	2	1	2	2	2
+1	2	1	1	2	3	1	1	2	1	1	1	2	2	2
+2	1	3	2	2	3	1	2	2	2	2	1	2	2	2
+3	2	1	2	2	3	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	3	2	1	2	2	2	1	2	2	2
+3	2	3	3	2	3	2	1	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	1	2	2	3	2	2	2	2
+1	2	3	1	2	3	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	2	2	3	2	2	3	1	2	2	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	2	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	1	1	1	2	1	1	1	2	1	2
+1	1	2	1	2	2	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	3	2	1	2
+2	2	3	2	2	3	2	3	2	2	3	1	2	2	2
+1	2	3	1	2	3	1	2	2	2	2	2	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	2	2	2	2
+2	2	3	2	2	3	2	1	2	2	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	3	2	1	2
+2	2	3	2	2	3	2	2	2	2	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	1	1	2	2	1	1	2	1	1	2	2	1	2
+2	2	1	1	2	3	1	2	2	1	2	1	2	2	2
+1	1	2	1	2	3	1	1	2	2	1	1	2	2	2
+1	1	3	1	2	3	1	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	2	1	2	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+1	2	3	1	2	2	1	1	2	2	1	2	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	3	1	2	2	1	2	1	2	2	2
+1	2	3	1	2	3	1	1	2	2	1	2	2	1	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	2	1	1	2	1	1	1	2	1	2
+2	2	1	1	2	3	1	2	2	2	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	3	2	2	2	2	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	1	3	2	2	3	1	2	2	2	2	2	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	1	2	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	1	1	1	2	1	1	2	2	1	2
+2	2	1	1	2	3	1	2	2	1	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	1	1	2	2	3	1	3	2	2	3	1	2	2	2
+3	2	3	3	1	2	2	3	2	2	3	1	2	2	2
+1	2	2	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	1	1	2	3	1	3	2	2	3	1	1	1	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+1	2	3	1	2	3	1	1	2	1	1	2	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	2	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	2	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	3	2	1	2
+2	1	3	2	2	3	1	2	2	2	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	2	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	3	2	1	2
+2	1	3	2	2	3	1	2	2	1	2	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	1	3	3	2	3	1	2	2	2	3	1	2	2	2
+1	1	3	1	2	1	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	2	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	2	1	2	3	1	1	2	1	1	2	2	1	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	2	3	1	2	3	1	2	2	1	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	2	2	2	2	2	3	2	2	3	2	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+3	2	1	2	2	3	2	1	2	2	3	1	2	2	2
+1	1	3	1	2	2	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	1	2	2	3	2	2	2	2
+2	1	3	2	2	3	1	2	2	1	2	1	2	2	2
+2	2	3	2	2	3	1	2	2	1	2	1	2	2	2
+3	2	1	2	2	3	1	3	2	2	3	1	2	2	2
+1	2	3	1	2	3	1	1	2	1	1	2	2	1	2
+3	2	3	3	2	3	2	3	2	1	3	1	2	2	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	1	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	1	3	3	2	2	1	3	2	2	3	1	2	1	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	1	3	3	2	2	1	1	2	2	3	1	2	2	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+3	1	1	2	2	3	1	1	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+1	2	3	1	2	3	1	3	2	2	3	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	2	1	3	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+1	1	3	1	2	3	1	2	2	1	2	1	1	1	2
+1	2	1	1	2	3	1	1	2	1	1	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	2	1	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	1	2	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	2	2	2	3	3	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+2	2	3	2	2	3	2	2	2	1	2	2	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	2	1	1	1	3	1	1	2	1	1	3	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	3	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	1	2	2	3	1	2	2	2
+1	1	3	1	2	2	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	2	3	1	2	3	1	2	2	2	2	2	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+3	1	3	3	2	3	1	3	2	2	3	2	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+2	2	3	2	2	3	1	2	2	2	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	1	2	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	2	2	3	2	2	3	1	2	2	2
+3	2	1	2	2	3	2	3	2	2	3	1	2	2	2
+1	2	3	1	1	3	1	3	2	2	3	2	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	2	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	3	2	2	2	2	2	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+3	1	1	2	2	3	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	2	2
+3	2	1	2	2	3	1	3	2	2	3	1	2	2	2
+3	2	3	3	2	2	2	3	2	2	3	2	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	2	1	2	3	1	2	2	1	2	1	1	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+2	2	3	2	2	3	2	2	2	2	2	1	2	2	2
+3	2	1	2	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+2	2	1	1	2	3	1	2	2	2	2	2	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	1	3	3	2	2	1	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+1	2	3	1	2	3	1	2	2	1	2	1	2	2	2
+1	2	3	1	2	3	1	3	2	2	3	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	1	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	2	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	2	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	2	1	3	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	1	2	1	1	2	1	1	1	2	1	2
+3	1	3	3	2	2	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	2	2	2	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	2	2
+3	1	1	2	2	3	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	2	1	2	3	1	2	2	2	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+2	1	1	1	2	3	1	2	2	2	2	2	2	2	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	1	1	2	2	3	1	3	2	2	3	2	2	2	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+2	2	3	2	2	3	1	2	2	1	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	1	2	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	2	1	1	2	2	1	3	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+3	2	1	2	2	3	1	3	2	2	3	2	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	3	2	1	2	2	2	2	2	2	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	2	2	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	1	1	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	2	1	1	2	1	1	1	2	1	2
+2	2	1	1	2	3	1	2	2	1	2	1	2	2	2
+2	2	2	1	2	1	1	2	2	1	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	2	2	2	1	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+2	2	1	1	2	2	1	2	2	1	2	1	2	2	2
+2	2	3	2	2	3	2	2	2	2	2	1	2	2	2
+3	2	1	2	2	3	2	3	2	2	3	1	2	2	2
+2	2	3	2	2	3	2	3	2	2	3	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+2	2	1	1	2	2	1	2	2	1	2	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	2	2	1	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	2	2	2	2
+3	2	1	2	2	3	2	3	2	2	3	1	2	2	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	1	1
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	1	3	2	2	3	1	2	2	1	2	1	2	1	2
+1	1	1	1	2	3	1	1	2	1	1	3	2	1	2
+2	2	3	2	2	3	1	2	2	1	2	1	2	2	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	2	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	1	1	2	2	1	2	2	2	2	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	2	2	2	3	2	3	2	2	3	2	2	2	2
+2	1	3	2	2	2	1	2	2	2	2	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	2	3	1	2	3	1	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+3	1	3	3	2	2	1	3	2	2	3	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	2	1	1	2	1	1	1	2	1	2
+3	2	1	2	2	3	2	3	2	2	3	1	2	2	2
+2	1	3	2	2	3	1	1	2	2	2	2	2	2	2
+2	2	1	1	2	2	1	2	2	1	2	1	2	2	2
+1	2	3	1	2	3	1	3	2	2	3	1	2	2	2
+2	2	1	1	2	3	1	2	2	1	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+2	2	1	1	2	3	1	2	2	2	2	3	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	2	2	2	2
+2	2	3	2	2	3	2	2	2	2	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	2	2	2	2
+3	2	1	2	2	3	2	3	2	2	3	1	2	2	2
+2	1	3	2	2	3	1	2	2	2	2	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	1	2	2	3	2	3	2	2	3	1	2	2	2
+3	2	2	2	2	3	1	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	2	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	1	2	2	3	2	3	2	2	3	2	2	2	2
+2	1	3	2	2	3	1	2	2	2	2	1	2	1	2
+3	2	1	2	2	3	2	3	2	2	3	1	2	2	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+2	1	2	1	2	3	1	2	2	1	2	1	2	2	2
+3	2	2	2	2	2	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	1	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	1	2	2	3	1	3	2	2	3	1	2	2	2
+2	1	3	2	2	3	1	2	2	1	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	1	3	2	2	3	1	2	2	1	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	2	2	2	2
+2	1	3	2	2	3	1	2	2	1	2	1	2	1	2
+2	1	1	1	2	3	1	2	2	1	2	1	2	1	2
+1	1	1	1	2	3	1	1	2	1	1	2	2	1	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	2	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	2	1	1	2	1	1	2	2	1	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+2	2	3	2	2	3	2	2	2	2	2	1	2	2	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+2	1	3	2	2	3	1	2	2	1	2	1	2	1	2
+3	2	3	3	2	2	2	3	2	2	3	1	2	2	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	1	2	2	3	1	3	2	2	3	1	2	2	2
+1	2	3	1	2	3	1	1	2	1	1	2	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	1	1	2	3	1	1	2	1	2	1	2	2	2
+3	1	1	2	2	3	1	3	2	2	3	1	2	2	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+2	2	1	1	2	3	1	3	2	2	3	2	2	2	2
+3	2	2	2	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	1	2	2	3	2	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+2	1	3	2	2	3	1	2	2	2	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	3	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	2	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	2	2	1	2
+1	1	3	1	2	2	1	1	2	1	1	1	2	1	2
+1	2	3	1	2	3	1	1	2	1	1	2	2	2	2
+3	2	3	3	2	2	2	3	2	2	3	2	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	1	1	2	3	1	2	2	1	2	1	2	2	2
+1	1	3	1	2	2	1	1	2	1	1	1	2	1	2
+2	1	1	1	2	3	1	2	2	1	2	1	2	1	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+2	2	3	2	2	3	2	2	2	1	2	2	2	2	2
+3	1	3	3	2	2	1	3	2	2	3	1	2	2	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+3	2	2	2	2	3	2	3	2	2	3	1	2	2	2
+3	1	3	3	2	3	1	3	2	2	3	3	2	2	2
+1	1	3	1	2	2	1	2	2	1	2	1	2	2	2
+1	2	3	1	2	3	1	1	2	1	1	2	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+3	2	1	2	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	1	1	2	2	2	1	1	2	2	3	1	2	2	2
+3	2	1	2	2	3	1	3	2	2	3	3	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	2	1	2	2	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	2	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	2	2	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	2	3	1	2	3	1	1	2	1	1	2	2	2	2
+2	2	1	1	2	3	1	2	2	2	2	1	2	2	2
+3	2	2	2	2	3	1	3	2	2	3	1	2	2	2
+1	2	3	1	2	2	1	2	2	2	2	2	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	3	2	1	2	2	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	2	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	2	1	2	3	1	2	2	2	2	2	2	2	2
+2	2	3	2	2	2	2	2	2	2	2	2	2	2	2
+2	1	2	1	2	3	1	2	2	1	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	1	2	1	2	3	1	2	2	2	2	3	2	2	2
+2	2	3	2	2	2	1	2	2	2	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+1	1	3	1	2	3	1	3	2	2	3	2	2	2	2
+1	1	3	1	2	3	1	1	2	2	1	2	2	1	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	1	2
+3	2	2	2	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	1	2	1	1	2	1	1	1	2	1	2
+1	1	1	1	2	2	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	2	1	1	2	1	1	3	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	1	2
+2	2	3	2	2	3	2	3	2	2	3	1	2	2	2
+3	2	2	2	2	3	2	1	2	2	3	2	2	2	2
+2	1	1	1	2	3	1	2	2	1	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	2	1	1	2	1	1	2	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+2	1	3	2	2	2	1	2	2	1	2	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+2	2	3	2	2	3	2	3	2	2	3	1	2	2	2
+2	2	2	1	2	3	1	2	2	1	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	2	1	2	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	2	1	1	2	1	1	2	2	1	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	2	2	2	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+1	2	3	1	2	2	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	1	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	2	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	2	1	2	2	1	3	2	2	3	1	1	1	2
+1	1	1	1	2	3	1	1	2	1	1	2	2	1	2
+2	2	1	1	2	3	1	2	2	1	2	1	2	2	2
+2	1	3	2	2	3	1	2	2	1	2	1	2	1	2
+1	1	3	1	2	3	1	3	2	2	3	1	2	2	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	2	1	2	2	1	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+2	2	1	1	2	3	1	2	2	1	2	1	2	2	2
+2	2	3	2	2	3	1	2	2	1	2	2	2	2	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	1	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	2	2	1	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	1	2	2	3	2	3	2	2	3	2	2	2	2
+3	2	1	2	2	3	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	1	2	2	2	3	1	3	2	2	3	1	2	2	2
+3	2	2	2	2	3	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	2	2
+3	2	1	2	2	3	2	3	2	1	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	1	2	2	3	1	3	2	2	3	1	2	2	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+1	2	3	1	2	3	1	3	2	1	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	2	1	1	2	3	1	1	2	1	1	1	1	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	2	2	2	3	2	3	2	2	3	1	2	2	2
+2	1	3	2	2	3	1	2	2	2	2	2	2	1	2
+2	1	3	2	2	3	1	2	2	1	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	1	2	2	3	2	3	2	2	3	1	2	2	2
+2	2	3	2	2	3	2	2	2	2	2	1	2	2	2
+1	1	3	1	2	1	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+1	1	2	1	2	2	1	1	2	1	1	2	2	1	2
+3	2	3	3	2	2	2	3	2	2	3	2	2	2	2
+1	2	3	1	2	3	1	1	2	1	1	3	2	2	2
+3	2	1	2	2	3	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	2	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+2	2	3	2	2	3	1	2	2	2	2	1	2	2	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	2	2	3	2	2	3	1	2	2	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	2	2
+2	2	1	1	2	3	1	2	2	2	2	1	2	2	2
+3	1	2	2	2	3	1	3	2	2	3	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+1	2	3	1	1	2	1	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	2	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	1	1	1	2	3	1	3	2	2	3	1	2	2	2
+1	2	3	1	2	2	1	1	2	1	1	1	2	1	2
+1	2	1	1	2	3	1	1	2	1	1	2	2	2	2
+3	1	1	2	2	3	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	1	1	2
+2	2	1	1	2	3	1	2	2	1	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	3	2	2	2	2	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	2	1	1	2	1	1	2	2	1	2
+2	2	3	2	2	3	1	2	2	1	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+2	1	3	2	2	3	1	1	2	1	2	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+3	2	2	2	2	3	2	1	2	2	3	1	2	2	2
+3	1	1	2	2	3	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	2	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	2	1	2	3	1	1	2	1	1	2	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	3	2	2	2	1	2	1	2	2	2
+2	1	1	1	2	3	1	2	2	2	2	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	2	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	1	2
+1	1	3	1	2	3	1	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	2	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	1	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	1	1	2	2	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	3	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	2	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	2	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+2	1	3	2	2	3	1	3	2	2	3	1	2	2	2
+2	2	3	2	2	3	1	2	2	1	2	1	2	2	2
+2	2	3	2	2	3	1	2	2	2	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	1	1	2	2	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	3	2	2	2	2	2	2	2	2	2
+2	2	3	2	2	3	2	1	2	2	2	2	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	1	3	2	2	3	1	2	2	1	2	1	2	1	2
+1	1	1	1	2	3	1	1	2	1	1	2	2	1	2
+1	2	1	1	2	3	1	3	2	2	3	1	2	2	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	3	1	2	2	2	2	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	3	2	1	2
+1	2	3	1	2	3	1	1	2	1	1	2	2	2	2
+2	2	3	2	2	3	2	2	2	1	2	2	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	2	2	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	2	1	1	2	1	1	2	2	1	2
+3	1	1	2	2	3	1	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	2	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	2	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	3	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	1	1	2	2	3	1	3	2	2	3	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	2	2	3	2	2	3	2	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	3	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	2	2	2	3	1	3	2	2	3	1	2	2	2
+2	2	1	1	2	3	1	2	2	1	2	1	2	2	2
+1	1	3	1	2	2	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	2	1	3	2	2	3	1	1	1	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	2	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+2	2	3	2	2	3	1	2	2	2	2	3	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	3	3	2	3	2	2	2	2	3	1	2	1	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	1	1	2	2	3	1	3	2	2	3	1	2	2	2
+2	2	3	2	2	3	1	2	2	2	2	2	2	2	2
+1	2	3	1	2	3	1	2	2	2	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	3	2	2	2	2	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+3	2	1	2	2	3	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	2	2	1	2
+1	1	3	1	2	3	1	1	2	2	1	2	2	1	2
+3	1	3	3	2	3	1	3	2	2	3	1	2	2	2
+3	2	1	2	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	2	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	2	2	3	2	2	3	1	2	2	2
+1	2	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	2	1	1	2	3	1	1	2	1	1	1	2	2	2
+3	2	1	2	2	3	1	3	2	2	3	1	2	2	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	3	1	2	2	2	2	3	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	2	2	2	3	1	3	2	2	3	1	2	2	2
+3	1	2	2	2	2	1	3	2	2	3	1	2	2	2
+2	2	1	1	2	3	1	2	2	2	2	1	2	2	2
+2	2	3	2	2	3	2	3	2	2	3	2	2	2	2
+1	1	2	1	2	3	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	2	1	1	2	1	1	1	2	1	2
+1	1	3	1	2	2	1	1	2	1	1	1	2	1	2
+3	1	1	2	2	3	1	3	2	2	3	1	2	2	2
+2	2	3	2	2	3	2	2	2	2	2	2	2	2	2
+1	1	3	1	2	3	1	1	2	2	1	1	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	2	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+3	2	3	3	2	3	2	3	2	2	3	2	2	2	2
+2	2	2	1	2	3	1	3	2	2	3	1	2	2	2
+1	1	3	1	2	2	1	1	2	1	1	3	2	1	2
+3	2	3	3	2	3	2	3	2	2	3	1	2	2	2
+1	1	1	1	2	3	1	1	2	1	1	1	2	1	2
+2	2	3	2	2	3	2	2	2	2	2	1	2	2	2
+1	1	3	1	2	3	1	1	2	1	1	1	2	1	2
+1	2	3	1	2	3	1	3	2	2	3	1	2	2	2
diff --git a/sourcecodes/enter_netID.php b/sourcecodes/enter_netID.php
new file mode 100644
index 00000000..f90f78db
--- /dev/null
+++ b/sourcecodes/enter_netID.php
@@ -0,0 +1,77 @@
+<!DOCTYPE HTML>
+<html>
+
+<?php 
+
+include("header_new.inc");
+include("input_validate.php");
+
+$netID = "";
+$netIDErr = "";
+if ($_SERVER["REQUEST_METHOD"] == "POST") {
+  if (empty($_POST["netID"])) {
+    $netIDErr = "Entering a network ID is required";
+  } else {
+    //    $netID = valid_keyval($_POST["netID"]);
+    $netIDErr = "1";
+    $netID = test_input($_POST["netID"]);
+    //    $netIDErr = "1";
+    // check if name only contains letters
+    if (strlen($netID)!=3) {
+          $netIDErr = "Network ID must be three letters"; 
+    }
+    if (!preg_match('/^[a-zA-Z]+$/',$netID)) {
+          $netIDErr = "Only letters are allowed"; 
+    }
+  }
+}
+
+function test_input($data) {
+  $data = trim($data);
+  $data = stripslashes($data);
+  $data = htmlspecialchars($data);
+  return $data;
+}
+?>
+
+
+<!-- Site navigation menu -->
+<ul class="navbar">
+  <li><a href="help.php" target="_blank">Help</a>
+  <li><a href="home.php">Home</a>
+</ul>
+
+<div id="outer">
+<!-- Main content -->
+<br>
+<br>
+<h1>Enter network ID from previously used network</h1>
+<br>
+<p align="justify"> 
+  Networks that have previously been generated in BNW can be accessed by entering the network ID in the input box below. The network ID is currently a three character string that can be found on the left hand menu of any network page. Network files are periodically deleted from BNW so it is possible that older networks may no longer be active.
+<br>
+<br>
+<p><span class="error"></span></p>
+<FORM METHOD="post" ACTION="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
+    Network ID:<INPUT TYPE="text" name="netID" value="<?php echo $netID;?>" style="padding: 2px 5px; border: 2px solid; border-color: black black black black; font-family: Georgia, ..., serif; font-size: 18px;
+display: block; height: 30px; width: 100px;"><span class="error"> <?php echo $netIDErr;?></span>
+<br><input type="submit" name="submit" value="Submit" style="display: block; height: 30px; width:100px; font-family: Georgia, ..., serif; font-size: 16px;">
+</FORM>
+</p>
+<br>
+
+<?php
+if ($netIDErr=="1")
+{
+  $keyval=$netID;
+?>
+<script>
+  window.open("layout.php?My_key=<?php print($keyval);?>",'_self',false);  
+</script>
+<?php
+}
+?>
+
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/sourcecodes/example.php b/sourcecodes/example.php
index dc59cc3e..11c74633 100644
--- a/sourcecodes/example.php
+++ b/sourcecodes/example.php
@@ -1,5 +1,5 @@
 <?php
-
+include("input_validate.php");
 $oldkeyval=$_GET["My_key"];
 
 $type_n=array();
@@ -7,8 +7,9 @@ $type_n=array();
 $type_n=explode("|",$oldkeyval);
 
 
-$example=trim($type_n[0]);   
-$oldkeyval=trim($type_n[1]);   
+$example=valid_input(trim($type_n[0]));   
+$oldkeyval=valid_keyval(trim($type_n[1]));   
+
 
 /////////////Generate a random key/////////////////////
 $alphas=array();
diff --git a/sourcecodes/execute_bn_gom.php b/sourcecodes/execute_bn_gom.php
index f91d4bd7..266bff70 100644
--- a/sourcecodes/execute_bn_gom.php
+++ b/sourcecodes/execute_bn_gom.php
@@ -1,23 +1,27 @@
 
 <?php 
-$keyval=$_GET["My_key"];
+include("input_validate.php");
+$keyval=valid_keyval($_GET["My_key"]);
 
 //////////////execute c codes for local score///////////////////
 $dir="./data/";
 
 $pfile="./data/".$keyval."parent.txt";
 $parentf=file_get_contents("$pfile");
+//$maxp=valid_input($parentf);
 $maxp=trim($parentf);
 
 
 $kfile="./data/".$keyval."k.txt";
 $kf=file_get_contents("$kfile");
+//$maxk=valid_input($kf);
 $maxk=trim($kf);
 
 
 
 $thrfile="./data/".$keyval."thr.txt";
 $thr=file_get_contents("$thrfile");
+//$thr=valid_input($thr);
 $thr=trim($thr);
 
 
diff --git a/sourcecodes/executionprogress.php b/sourcecodes/executionprogress.php
index 99483a02..6bdec524 100644
--- a/sourcecodes/executionprogress.php
+++ b/sourcecodes/executionprogress.php
@@ -3,9 +3,9 @@
 
 include("header_new.inc");
 include("runtime_check.php");
+include("input_validate.php");
 
-
-$keyval=$_GET["My_key"];
+$keyval=valid_keyval($_GET["My_key"]);
 $dir="./data/";
 
 //number of parents
@@ -28,6 +28,7 @@ $runtime=exe_time($keyval,$parent_number,$k_number);
 
 <div>
 <p><h3><?php 
+print("Network ID: $keyval<br/>");
 print("Estimated run time: $runtime seconds");
 ?>
 <br><br></h3>
diff --git a/sourcecodes/faq.php b/sourcecodes/faq.php
index e9f48b13..7e3d918b 100644
--- a/sourcecodes/faq.php
+++ b/sourcecodes/faq.php
@@ -1,8 +1,9 @@
 <?php
-
+include("input_validate.php");
 $key=$_POST["My_key"];
 if($key=="")
-  $key="ab";//uniqid("");
+  $key="abc";//uniqid("");
+$key=valid_keyval("$key");
 
 include("header_new.inc");
 ?>
@@ -120,8 +121,8 @@ While it does not fully support dynamic Bayesian network modeling, BNW can be us
 <a name=old_model><h3>7. Can I restore a previous session containing a model in BNW?</h3></a>
 </tr>
 <br>
-<tr><td>
-<p align="justify">While there is no current method to automatically restore a previous session of BNW, users have the option of downloading a file that contains the structure of their model. This file can be loaded in BNW on return visits to the site, allowing them to skip the potentially time consuming structure learning step. To download the structure matrix file after structure learning of the dataset for the first time, click on "Display structure matrix" on the left side of the prediction interface, scroll to the bottom of the popup window, and click "Download". This file and the original input data file and then be loaded into BNW by clicking "Make predictions using a known structure" on the BNW home page.<br> 
+<tr><td><p align="justify"> BNW has been recently been updated to allow for returning to a previous network model. Each network is currently identified by a three letter network ID that is noted on the upper left of the network page. This network ID can be entered into a link on the left menu of the BNW homepage. Users should note that data is occasionally cleared from the BNW server, so this method will may only allow users to return to a network model for a short time. Users can follow the description below for longer term use.<br><br>
+Additionally, users have the option of downloading a file that contains the structure of their model. This file can be loaded in BNW on return visits to the site, allowing them to skip the potentially time consuming structure learning step. To download the structure matrix file after structure learning of the dataset for the first time, click on "Display structure matrix" on the left side of the prediction interface, scroll to the bottom of the popup window, and click "Download". This file and the original input data file and then be loaded into BNW by clicking "Make predictions using a known structure" on the BNW home page.<br> 
 </td></tr>
 </table>
 <br>
diff --git a/sourcecodes/filecopy.sh b/sourcecodes/filecopy.sh
index 15ce4e24..a5616952 100644
--- a/sourcecodes/filecopy.sh
+++ b/sourcecodes/filecopy.sh
@@ -8,4 +8,16 @@ do
   # take action on each file. $f store current file name
   #echo "new Processing $new file..."
   cp $f $new
-done
\ No newline at end of file
+done
+temp='looCV_temp.txt'
+rm $2$temp
+temp='looCV.txt'
+rm $2$temp
+temp='kfoldCV_temp.txt'
+rm $2$temp
+temp='kfoldCV.txt'
+rm $2$temp
+temp='ts_upload.txt'
+rm $2$temp
+temp='ts_output.txt'
+rm $2$temp
diff --git a/sourcecodes/graphviz_structure.php b/sourcecodes/graphviz_structure.php
index c872c1fd..2e39e268 100644
--- a/sourcecodes/graphviz_structure.php
+++ b/sourcecodes/graphviz_structure.php
@@ -17,7 +17,8 @@ function calcHeight()
 
 <?php 
 include("header_new.inc");
-$keyval=$_GET["My_key"];
+include("input_validate.php");
+$keyval=valid_keyval($_GET["My_key"]);
 
 /////////////////////////////////structure matrix//////////////////////////////////////////////////////////
 
diff --git a/sourcecodes/header_batchsearch.inc b/sourcecodes/header_batchsearch.inc
index 95ff5687..4e142255 100644
--- a/sourcecodes/header_batchsearch.inc
+++ b/sourcecodes/header_batchsearch.inc
@@ -4,6 +4,17 @@
 <script language="JavaScript">
 <!-- hide
 
+function input_check(input) {
+     var valid_char = /^[a-zA-Z0-9/./-]+$/;
+     if(valid_char.test(input))
+      {
+       return true;
+      }
+     else
+      {
+       return false;
+      }
+}
 function demo_str()
 {
     with(window.document.key_search)
diff --git a/sourcecodes/header_batchsearch.inc~ b/sourcecodes/header_batchsearch.inc~
new file mode 100644
index 00000000..ff40409c
--- /dev/null
+++ b/sourcecodes/header_batchsearch.inc~
@@ -0,0 +1,253 @@
+<html>
+<head>
+<LINK REL=StyleSheet HREF="./my_style.css" TYPE="text/css">
+<script language="JavaScript">
+<!-- hide
+
+function input_check(input) {
+     var valid_char = /^[a-zA-Z0-9/.]+$/;
+     if(valid_char.test(input))
+      {
+       return true;
+      }
+     else
+      {
+       return false;
+      }
+}
+function demo_str()
+{
+    with(window.document.key_search)
+    {
+       searchkey.value="Genotype\tGene1\tGene2\tGene3\tPhenotype\n0\t1\t0\t1\t0\n0\t0\t1\t0\t0\n0\t0\t0\t0\t1\n0\t0\t0\t0\t1\n0\t0\t0\t0\t0\n"; 
+    }
+}
+
+function demo()
+{
+  with(window.document.key_search)
+  {
+
+      // searchkey.value="Genotype\tGene1\tGene2\tGene3\tPhenotype\n9.287\t9.191\t9.206\t9.285\t9.284\n10.039\t9.976\t10.129\t9.985\t10.055\n9.785\t9.852\t9.955\t9.972\t10.067\n8.529\t8.663\t8.707\t8.691\t8.743\n9.122\t9.057\t9.139\t9.067\t9.065\n8.964\t8.888\t8.879\t8.887\t8.803\n10.264\t10.317\t10.406\t10.344\t10.26\n9.089\t9.017\t9.121\t9.072\t9.021\n9.329\t9.321\t9.408\t9.398\t9.363\n9.47\t9.112\t9.399\t9.423\t9.481\n8.575\t8.404\t8.39\t8.554\t8.523\n9.093\t8.89\t9.092\t9.028\t9.016\n8.421\t8.375\t8.467\t8.439\t8.436\n9.678\t9.522\t9.65\t9.517\t9.679\n8.114\t8.38\t8.387\t8.324\t8.344\n8.447\t8.341\t8.731\t8.262\t8.675\n9.522\t9.488\t9.612\t9.505\t9.569\n10.742\t10.597\t10.76\t10.566\t10.668\n9.266\t9.292\t9.37\t9.219\t9.454\n8.052\t8.358\t8.311\t8.225\t8.29\n9.82\t9.655\t9.788\t9.805\t9.75\n9.343\t9.473\t9.513\t9.601\t9.454\n10.249\t10.208\t10.24\t10.089\t10.29\n8.612\t8.472\t8.565\t8.586\t8.528\n8.749\t7.892\t8.736\t7.965\t8.711\n9.54\t9.584\t9.678\t9.807\t9.65\n9.327\t9.233\t9.316\t9.416\t9.341\n9.005\t8.718\t9.03\t8.952\t9.163\n9.356\t9.112\t9.28\t9.184\t9.255\n9.712\t9.362\t9.554\t9.566\t9.533\n9.369\t9.504\t9.519\t9.589\t9.529\n11.104\t10.966\t11.056\t11.224\t11.122\n9.689\t9.61\t9.715\t9.707\t9.739\n9.512\t9.241\t9.343\t9.362\t9.391\n9.21\t9.025\t9.231\t9.196\t9.109\n8.607\t8.753\t8.85\t8.822\t8.778\n9.762\t9.782\t9.783\t9.822\t9.812\n8.881\t8.764\t8.897\t8.816\t8.85\n9.368\t9.401\t9.435\t9.348\t9.487\n8.65\t8.489\t8.619\t8.606\t8.586\n8.58\t8.708\t8.468\t8.77\t8.452\n9.444\t9.279\t9.423\t9.445\t9.403\n8.656\t8.744\t8.755\t8.714\t8.704\n9.628\t9.372\t9.522\t9.379\t9.442\n9.586\t9.525\t9.67\t9.638\t9.562\n8.363\t8.363\t8.414\t8.455\t8.343\n11.008\t10.678\t10.886\t10.953\t10.696\n9.148\t9.058\t9.197\t9.185\t9.131\n8.936\t8.9\t8.909\t9.036\t8.808\n9.244\t9.13\t9.177\t9.321\t9.311\n7.707\t7.75\t7.752\t7.802\t7.704\n8.917\t8.785\t8.953\t8.871\t8.805\n9.121\t8.95\t9.031\t9.029\t9.018\n9.635\t9.615\t9.788\t9.662\t9.752\n9.214\t9.401\t9.565\t9.44\t9.504\n8.408\t8.47\t8.577\t8.496\t8.418\n9.252\t9.347\t9.432\t9.394\t9.443\n9.615\t9.43\t9.564\t9.399\t9.528\n9.202\t8.755\t9.124\t8.915\t8.954\n9.558\t9.736\t9.69\t9.813\t9.707\n9.066\t9.094\t9.027\t9.055\t9.067\n8.607\t8.516\t8.635\t8.661\t8.557\n9.266\t9.073\t9.141\t9.131\t9.078\n9.074\t8.944\t9.082\t9.075\t8.962\n10.191\t10.084\t10.192\t10.215\t10.222\n9.116\t8.656\t9.057\t9.007\t9.01\n10.25\t9.957\t10.151\t10.131\t10.095\n9.159\t9.196\t9.584\t9.291\t9.239\n8.397\t8.502\t8.453\t8.559\t8.598\n9.176\t9.095\t9.255\t9.256\t9.249\n9.648\t9.584\t9.788\t9.801\t9.652\n9.055\t9.151\t9.097\t9.169\t9.103\n8.799\t8.522\t8.756\t8.649\t8.712\n9.457\t9.062\t9.387\t9.363\t9.233\n9.389\t9.161\t9.316\t9.288\t9.353\n8.349\t8.54\t8.57\t8.555\t8.512\n9.708\t9.586\t9.688\t9.69\t9.731\n8.853\t9.128\t9.107\t9.152\t9.131\n9.349\t9.14\t9.28\t9.304\t9.318\n9.151\t9.131\t9.229\t9.305\t9.276\n8.471\t8.224\t8.394\t8.327\t8.393\n9.549\t9.661\t9.642\t9.717\t9.553\n9.74\t9.685\t9.838\t9.909\t9.876\n9.906\t9.706\t9.929\t9.822\t9.776\n9.261\t8.994\t9.154\t8.996\t9.208\n9.805\t9.613\t9.693\t9.644\t9.654\n8.806\t8.692\t8.857\t8.739\t8.899\n8.98\t8.627\t8.818\t8.669\t8.773\n8.396\t8.534\t8.574\t8.512\t8.579\n9.193\t9.079\t9.23\t9.038\t9.171\n9.255\t9.153\t9.321\t9.166\t9.102\n9.025\t8.98\t9.242\t9.116\t8.959\n9.142\t9.066\t9.254\t9.183\t9.067\n9.361\t9.204\t9.277\t9.251\t9.2\n";
+searchkey.value="Genotype\tGene1\tGene2\tGene3\tPhenotype\n2\t0.14036\t-1.9418\t-0.42948\t0.25915\n1\t-0.51633\t2.0851\t0.36011\t-1.4461\n2\t1.2073\t-0.66507\t-1.0782\t0.25577\n1\t-1.3816\t0.0015871\t1.6678\t-1.0284\n1\t0.02627\t-0.25511\t1.386\t-0.72776\n2\t1.4749\t-1.0507\t-1.1886\t0.5869\n1\t-0.81364\t0.15985\t1.3432\t-0.88628\n2\t0.66482\t0.37888\t-1.0411\t0.41452\n2\t0.74691\t-0.79568\t0.043531\t0.83479\n1\t-0.13122\t-0.2089\t1.0839\t0.26364\n1\t0.10727\t1.0991\t0.46907\t0.089453\n1\t-1.3152\t-0.96453\t0.1134\t0.76625\n2\t1.3244\t-1.2513\t-0.75496\t0.17869\n1\t-1.0526\t1.0432\t0.41152\t-1.2805\n1\t-0.97163\t0.048348\t1.2317\t-0.57484\n2\t1.6526\t-0.84306\t-0.58025\t1.0336\n2\t1.3678\t0.30984\t-0.8071\t0.2227\n2\t0.68011\t-0.40842\t-0.42178\t0.48112\n2\t1.7573\t-0.81682\t-1.1508\t1.2448\n1\t-0.38513\t0.87495\t0.62368\t-0.3029\n2\t1.6804\t-0.79057\t-0.54125\t0.86227\n1\t-0.8\t1.4548\t0.38404\t-0.61435\n1\t-0.4981\t0.77635\t-0.84664\t0.2084\n1\t-1.1284\t0.6439\t-1.346\t-0.69702\n1\t-1.1604\t-0.24286\t-1.1865\t0.84499\n1\t-0.46941\t0.90822\t0.42266\t-0.60657\n1\t-1.4694\t0.8425\t1.322\t-0.20931\n1\t-1.5602\t1.0644\t0.77609\t-1.0143\n1\t0.73219\t-2.3196\t-0.051471\t0.51013\n1\t-0.33907\t0.31261\t-0.23894\t0.34665\n2\t1.4875\t-1.2278\t-0.3665\t1.1055\n2\t1.7778\t-0.13868\t-0.79405\t-0.17391\n1\t-1.0143\t0.15579\t0.94312\t-0.81445\n1\t-0.79556\t0.34673\t0.80697\t-1.0352\n2\t1.0902\t0.40553\t-0.90835\t0.18326\n1\t-1.4082\t1.0887\t0.19177\t-0.37926\n1\t0.65948\t-0.29631\t1.4025\t-0.6577\n1\t-0.10541\t0.50632\t-0.62135\t-0.69439\n1\t-1.4274\t0.8999\t0.040714\t-0.64084\n1\t-0.049221\t0.37995\t0.34105\t0.14789\n1\t-0.27827\t0.44415\t0.75087\t-0.94544\n1\t-0.86182\t-0.20052\t-0.69887\t0.9523\n1\t-0.64715\t-0.57779\t0.14728\t-1.378\n1\t-1.4341\t0.047062\t0.22559\t-0.29402\n2\t0.63681\t-0.57975\t-1.4907\t0.78349\n1\t-0.51958\t0.99085\t0.80223\t-1.224\n1\t0.37793\t1.4098\t0.53726\t-1.4404\n2\t0.62224\t-0.74639\t-0.43616\t-0.10073\n1\t-0.27451\t0.48363\t0.51358\t-0.2455\n2\t1.7129\t-1.4765\t-0.46897\t1.0381\n1\t-1.2877\t1.2851\t0.094527\t-0.65207\n1\t-1.5119\t1.0398\t0.36671\t-0.099971\n2\t1.7707\t-1.6549\t-1.2189\t0.7862\n2\t2.9819\t-1.2002\t-1.1488\t1.5639\n1\t-1.4328\t1.428\t-0.30167\t-0.39427\n2\t1.3157\t-0.044003\t-1.5064\t1.0888\n2\t1.4134\t-2.0733\t-0.90404\t1.2135\n2\t1.3233\t-0.46672\t-0.97303\t0.41323\n1\t-0.0027834\t-1.4766\t0.23116\t0.74087\n1\t-0.23902\t0.085836\t-0.45144\t0.25977\n1\t-0.7959\t-0.092194\t0.48212\t-1.0995\n1\t-0.87981\t-0.2021\t1.0342\t-0.77157\n1\t0.073991\t-0.16933\t0.68415\t0.059864\n1\t-0.19906\t-0.88838\t1.4616\t-0.77209\n1\t0.33053\t-0.24742\t0.84394\t-0.47337\n1\t-2.4677\t1.9733\t0.15703\t-1.1391\n1\t-1.4296\t0.27178\t1.4961\t-0.57637\n1\t-1.9217\t0.69186\t0.62457\t-0.18303\n1\t-1.2431\t0.98661\t-0.66998\t-0.62435\n1\t-1.3104\t0.56634\t-0.41563\t-0.21244\n1\t-0.79584\t0.073539\t1.5764\t-0.5129\n1\t-1.4595\t-0.42548\t-1.4099\t2.1827\n2\t1.2151\t-1.5028\t-1.3091\t1.6489\n2\t-0.14578\t-0.27147\t-0.853\t-0.42563\n2\t0.74643\t1.0798\t-0.98467\t0.15834\n1\t-0.93086\t-0.3765\t0.79132\t0.43374\n1\t-0.26466\t-0.24432\t0.52009\t0.4509\n1\t-1.1895\t0.026542\t0.26611\t-0.23827\n1\t-0.42519\t1.2643\t0.1902\t-0.81237\n1\t-1.0248\t-0.49955\t0.064074\t0.47088\n2\t2.2907\t-1.4612\t-0.95431\t1.5863\n2\t1.5697\t-0.3165\t-1.4525\t1.136\n1\t-1.0159\t0.053298\t1.6214\t-1.2228\n1\t-0.40383\t1.8453\t0.4486\t-0.97178\n1\t0.5124\t-0.20628\t0.91974\t-0.82012\n2\t1.3073\t-1.7029\t-0.79974\t1.0053\n1\t-0.69588\t0.26406\t-0.53979\t-0.021947\n1\t-0.08423\t0.66182\t2.0539\t-1.9058\n2\t2.1006\t-1.12\t-0.94615\t0.67055\n2\t0.5511\t-0.69758\t-0.43734\t0.77074\n2\t1.3879\t-1.1487\t-1.0375\t1.4641\n1\t0.20633\t0.50759\t0.69341\t-0.58827\n1\t1.6753\t-1.0901\t-1.0288\t1.9808\n1\t-0.94533\t2.6526\t0.93921\t-1.6151\n1\t-1.2071\t-0.68996\t0.029818\t-0.19476\n2\t0.81414\t0.92509\t-0.1681\t-0.28887\n1\t0.18468\t-1.0249\t1.0538\t-0.34692\n1\t-0.96033\t1.0327\t-0.30184\t-0.8787\n2\t0.74032\t-0.15363\t-0.96792\t0.68449\n1\t-0.24615\t1.6257\t1.3952\t-1.0348\n";
+   }
+}
+
+
+function demo1()
+{
+  with(window.document.key_search)
+  {
+
+searchkey.value="Gene1\tGene2\tGene3\tPhenotype\n2\t2\t1\t1\n2\t2\t1\t2\n1\t1\t2\t2\n1\t1\t2\t2\n2\t1\t1\t1\n1\t1\t2\t2\n1\t1\t2\t2\n2\t2\t1\t1\n2\t1\t2\t2\n1\t1\t2\t2\n1\t2\t2\t2\n2\t1\t2\t2\n2\t1\t1\t1\n1\t1\t2\t2\n2\t2\t1\t1\n2\t2\t1\t1\n1\t1\t2\t2\n2\t2\t1\t1\n2\t2\t1\t1\n1\t1\t2\t2\n1\t2\t1\t1\n1\t1\t2\t2\n2\t2\t2\t1\n2\t1\t1\t1\n2\t1\t1\t1\n2\t2\t1\t1\n2\t2\t1\t1\n1\t1\t2\t2\n2\t2\t1\t1\n2\t2\t1\t1\n2\t2\t1\t2\n2\t2\t1\t1\n2\t1\t1\t2\n2\t2\t2\t2\n1\t1\t2\t2\n1\t1\t2\t2\n2\t2\t2\t1\n1\t1\t2\t2\n2\t2\t1\t1\n2\t1\t2\t1\n1\t2\t1\t2\n1\t2\t2\t1\n2\t2\t1\t1\n2\t2\t2\t1\n2\t2\t1\t1\n1\t1\t2\t2\n2\t2\t1\t1\n1\t1\t2\t2\n1\t1\t2\t2\n1\t1\t2\t2\n2\t1\t1\t1\n2\t2\t1\t1\n2\t1\t1\t1\n2\t2\t2\t1\n1\t1\t2\t2\n1\t2\t1\t1\n1\t1\t2\t2\n2\t2\t1\t1\n1\t1\t2\t2\n1\t1\t2\t2\n2\t1\t1\t2\n2\t2\t1\t2\n1\t1\t1\t2\n2\t1\t2\t2\n1\t1\t2\t2\n2\t2\t1\t1\n2\t1\t2\t2\n1\t1\t2\t2\n1\t1\t2\t2\n1\t1\t2\t2\n2\t2\t1\t1\n1\t1\t2\t2\n1\t1\t2\t2\n1\t1\t2\t2\n2\t2\t1\t1\n1\t1\t2\t2\n2\t2\t1\t1\n1\t1\t2\t2\n1\t1\t2\t2\n1\t1\t2\t2\n1\t1\t2\t2\n2\t2\t1\t2\n2\t1\t2\t2\n1\t1\t2\t2\n2\t2\t1\t1\n2\t2\t1\t1\n1\t1\t2\t2\n2\t2\t1\t2\n1\t1\t2\t2\n2\t2\t1\t2\n2\t2\t1\t1\n2\t2\t1\t1\n1\t1\t2\t2\n2\t2\t1\t1\n1\t2\t1\t1\n2\t2\t1\t2\n1\t1\t2\t2\n1\t1\t2\t2\n1\t1\t1\t2\n1\t2\t2\t2";
+   }
+}
+
+function demo2()
+{
+  with(window.document.key_search)
+  {
+    searchkey.value="GenotypeA\tGenotypeB\tGene1\tGene2\tGene3\tGene4\n1\t1\t0.0735451012188\t0.807744827105\t-0.141557122166\t0.871977046116\n2\t1\t0.0783291492541\t0.784023461068\t0.501395957396\t1.20598627055\n2\t1\t0.786243065384\t0.978600201012\t1.10615045137\t0.91427570527\n2\t1\t-0.133165253244\t1.09368397217\t0.943147613583\t1.28625182746\n2\t1\t0.849732696834\t0.701697179341\t1.1597647359\t1.10898527576\n2\t1\t0.117358779641\t1.27641582521\t1.07600246132\t0.837957699405\n1\t2\t0.260845541489\t0.126507267356\t0.134953769296\t1.05166904426\n2\t1\t0.277734881926\t1.07193390309\t0.282304188176\t1.11305323003\n1\t2\t0.23482774261\t1.22992089679\t0.0929753295409\t1.16341704702\n1\t2\t0.948183366714\t0.133267523413\t-0.218162396333\t0.906540379337\n2\t1\t-0.116613369121\t1.14203606435\t0.109901766308\t0.729527128692\n1\t1\t-0.179825551391\t0.10619275827\t0.937787825497\t1.03567603615\n2\t1\t0.293022973091\t1.08721255661\t-0.175473007708\t0.887010836361\n2\t1\t-0.0489346771642\t0.968137836317\t0.107834185199\t0.896061918536\n1\t2\t0.236140871956\t-0.0428030926592\t-0.318492104268\t0.570552965391\n2\t2\t-0.0800211950407\t0.69984329873\t0.188143588172\t1.31042305844\n1\t1\t-0.0036838396465\t0.115049518621\t1.23342471413\t-0.0310668924648\n1\t2\t0.821596343182\t-0.206883091797\t-0.176745465075\t1.00503814188\n2\t1\t0.968136985881\t0.17393492998\t1.10355204542\t1.50730341194\n1\t1\t-0.2529273487\t1.15825296446\t-0.296758267158\t0.334353609539\n2\t2\t0.996924729837\t0.79867304131\t-0.0654588195254\t1.14114632703\n1\t1\t1.11517699739\t1.04475472944\t1.01515337419\t-0.114835981744\n1\t1\t1.13306628335\t0.212806963119\t-0.331850695159\t1.3262481351\n2\t1\t-0.202717212277\t1.16180466017\t0.698481134231\t0.837229654056\n2\t1\t1.09703628172\t0.988374730515\t0.632905281073\t0.871944778559\n1\t1\t0.0877178138353\t0.92193353301\t0.0882061186606\t-0.109998053824\n2\t2\t-0.0465657805556\t1.0562741142\t0.203076906226\t0.947081854544\n1\t1\t0.253626344342\t0.774666759107\t0.160237735682\t0.137119974017\n2\t2\t0.958504778114\t0.696202219462\t0.837104986151\t1.22862239026\n2\t1\t0.0190762231091\t1.07363361357\t0.836517352782\t1.13138357074\n1\t2\t1.04546343625\t1.22248653304\t-0.177641501681\t0.938273372293\n1\t1\t-0.356538939133\t0.926691569307\t-0.0141334158342\t-0.333256032191\n2\t2\t-0.271616290794\t1.02237907773\t-0.0893323176884\t1.13812703435\n1\t1\t0.112310230451\t0.96903715979\t0.735229019751\t0.0718376819618\n2\t2\t-0.0541760888203\t0.910562906664\t0.237421737724\t1.12792106072\n2\t1\t0.140510085427\t1.14598129626\t0.684754216604\t1.37711161908\n1\t2\t0.673132921769\t1.16156481777\t0.828299174842\t1.23484148864\n1\t1\t-0.36576911038\t1.22402806897\t0.985794473424\t0.371258195776\n2\t1\t1.30745593323\t-0.305709792671\t1.18778090128\t0.773246386727\n2\t2\t-0.530650832006\t1.12852174836\t-0.242830565653\t0.83833485032\n1\t1\t-0.291997112416\t-0.0207658889693\t0.172776752193\t0.36694855027\n1\t2\t-0.161225357475\t1.16418585274\t0.00727443800449\t1.1352882361\n2\t2\t1.30343435031\t0.732902323978\t-0.172844997755\t0.874662524376\n2\t2\t0.85539635481\t1.29119106621\t0.016024964511\t1.13160810191\n1\t2\t0.839799562146\t-0.0698184772979\t0.064736024742\t0.888230930115\n1\t2\t0.95789577351\t-0.0042439536723\t0.0555580748795\t1.07993651996\n1\t1\t1.32802494815\t-0.214047314771\t0.329813058688\t0.728172901439\n1\t1\t-0.200890919169\t1.1000313421\t1.04401630691\t0.0521627161216\n2\t2\t0.937448394951\t1.08384634906\t-0.0899239635102\t1.07443211017\n2\t1\t-0.0666111295973\t0.607978461697\t0.178977027858\t0.996958995079\n2\t1\t0.98988279173\t0.936124382141\t1.16162098\t0.953396718798\n1\t1\t0.783923131778\t-0.185782423384\t0.234091790401\t1.05701020406\n1\t1\t0.761503655241\t1.10820714005\t0.784532435857\t-0.125970126396\n2\t1\t-0.0961115621732\t0.992263342859\t0.660910916217\t0.963055169574\n2\t2\t-0.154764213109\t0.730891518005\t-0.109545565909\t1.12272967655\n2\t2\t0.0479283751395\t0.928564948748\t0.0947967021058\t0.98105799191\n2\t2\t1.39168552274\t0.128331277089\t0.10146975109\t1.24231428304\n1\t1\t0.976982771784\t-0.146928630221\t-0.0608841220423\t0.972841874016\n2\t1\t1.15485099166\t0.935197552788\t0.965011443377\t1.34264634759\n1\t2\t-0.166427006522\t0.213464027262\t-0.031343375005\t0.8119490745\n2\t1\t0.602325327176\t1.47360525321\t1.40368030116\t0.887287145417\n1\t2\t1.12050355207\t1.18852964108\t0.0704081979976\t1.19584630693\n2\t1\t0.702485774332\t1.15988608636\t0.294782678413\t0.751491248655\n1\t2\t0.155516690813\t0.251086517248\t0.975388704705\t0.688269967741\n1\t2\t0.038035346805\t0.682904829816\t0.0951645619842\t0.665389726903\n1\t1\t0.339450864189\t0.116879724658\t-0.170951058396\t-0.370117675216\n2\t2\t-0.108372250446\t0.696218715139\t-0.00428297700477\t0.961335352653\n2\t2\t0.0146712646232\t1.12798531635\t0.778687243129\t1.27150673153\n1\t2\t0.704617012215\t1.08526662881\t0.799187464816\t1.13063944956\n1\t1\t1.10224639633\t1.09684843311\t1.13580106237\t0.186395861041\n1\t1\t1.13687210336\t0.592984795387\t0.20048850526\t-0.0553656796539\n1\t2\t0.0632700472019\t0.864610771614\t-0.242802029698\t0.848811159682\n2\t1\t0.0451786925492\t1.33573290418\t0.92973441898\t-0.344011193096\n1\t2\t1.26061879295\t1.09499325896\t0.0222202420765\t0.847629840625\n1\t2\t0.91681254794\t0.290800393334\t-0.0719474399104\t0.926496648214\n2\t1\t1.2172426262\t0.951648627857\t1.25202262128\t0.233889527648\n1\t2\t1.05048646769\t0.172566561404\t0.0550162349302\t0.750079764855\n1\t2\t0.675366500637\t-0.0673050997098\t0.1645804156\t0.781063579107\n2\t1\t0.204088201674\t0.886512802356\t1.05795947541\t0.185790058971\n2\t1\t-0.100901351663\t0.714436170991\t-0.505529978858\t0.647306701065\n1\t2\t0.907207625417\t1.16174653049\t-0.155199134127\t0.747382222584\n1\t2\t0.0672106257479\t0.603637849323\t-0.140625204522\t1.08080017243\n2\t1\t1.2385313097\t1.0695347389\t-0.176990709153\t0.848256839162\n1\t2\t0.186923583294\t0.119157644078\t0.0349289573077\t0.744803259527\n1\t2\t1.09352177593\t0.194715059877\t0.0236391004662\t0.499673191061\n2\t1\t-0.376369481804\t0.985546924317\t0.0945527339598\t0.948918281956\n1\t1\t1.18474855816\t-0.115831486698\t0.283152200427\t0.970403352935\n2\t2\t1.15179008534\t1.11293520284\t0.221811798026\t0.999871011204\n1\t2\t-0.270193067228\t1.1546656712\t-0.244378116913\t0.671654326382\n2\t2\t0.439331185377\t1.12197569445\t0.258362973013\t1.11146143747\n2\t2\t1.01095806207\t0.745930460781\t-0.0409015639874\t1.14791250376\n2\t1\t-0.26402775558\t1.0189980863\t0.0142629520115\t0.959203836932\n1\t1\t1.1622683144\t-0.0120889455187\t1.07714267283\t-0.177584275215\n1\t1\t0.942340790264\t0.254818931717\t0.0587741977709\t0.980453538135\n2\t2\t0.106324819492\t0.79161883369\t-0.16526611256\t0.916230483749\n2\t1\t1.19278065887\t0.913551161988\t-0.0956615348665\t1.05953140511\n1\t1\t0.99020996204\t-0.0516709802571\t0.785783698942\t1.47690006823\n2\t1\t1.1566705292\t1.05878794929\t0.0968404106402\t0.827720917511\n1\t2\t0.05207115921\t-0.252341077617\t-0.0848699551554\t1.19139462554\n2\t2\t0.991086851115\t-0.301180892331\t-0.00253197995383\t1.46608138294\n";   
+  //W\tL\tN\tM\n
+  }
+}
+
+function demo3()
+{
+  with(window.document.key_search)
+  {
+
+searchkey.value="A1\tA2\tA3\tA4\tA5\tA6\tA7\tA8\tA9\tA10\tA11\tA12\tA13\tA14\tA15\tA16\n1\t1\t2\t1\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t2\t1\t1\t1\t1\t2\t1\t4\t4\t4\t2\t1\t1\t2\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t1\t2\t3\t1\n1\t2\t2\t2\t1\t1\t2\t3\t3\t3\t4\t3\t2\t2\t3\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n2\t1\t2\t2\t1\t1\t1\t3\t3\t2\t4\t2\t1\t3\t4\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t1\t1\t3\t4\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n2\t2\t2\t2\t1\t1\t2\t3\t3\t1\t4\t1\t1\t3\t1\t1\n1\t1\t2\t2\t1\t1\t1\t3\t1\t1\t1\t1\t1\t3\t1\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t2\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t2\t1\t1\t3\t1\t1\t1\t1\t1\t3\t1\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t4\t3\t1\t2\t3\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t2\t2\t2\t1\t1\t2\t3\t3\t3\t3\t4\t3\t1\t2\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t1\t3\t1\t1\t3\t1\t1\n1\t2\t2\t2\t1\t1\t2\t3\t3\t3\t4\t2\t1\t3\t4\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t2\t1\t1\t3\t1\t1\t1\t1\t1\t3\t1\t1\n1\t1\t2\t1\t1\t1\t1\t3\t3\t3\t3\t3\t1\t2\t3\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t1\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t3\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n2\t1\t2\t2\t1\t1\t1\t3\t3\t2\t4\t2\t1\t3\t4\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t3\t1\t2\t3\n1\t1\t2\t2\t1\t1\t1\t3\t3\t2\t3\t2\t1\t3\t4\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t1\t2\t2\n2\t1\t2\t2\t1\t1\t1\t3\t3\t2\t4\t2\t1\t3\t4\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t2\t3\t3\t3\t3\t3\t2\t2\t3\t1\n1\t1\t2\t2\t2\t1\t1\t3\t1\t1\t1\t1\t1\t3\t1\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t1\t2\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t2\t1\t1\t3\t1\t1\t1\t1\t1\t3\t1\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t1\t2\t3\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t1\t2\t3\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t2\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t3\t4\t2\n1\t1\t2\t2\t2\t1\t1\t3\t1\t1\t1\t1\t1\t3\t1\t1\n1\t1\t2\t2\t2\t1\t1\t3\t1\t1\t1\t1\t1\t3\t1\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t2\t3\t2\t1\t3\t4\t1\n1\t1\t2\t2\t2\t1\t1\t3\t1\t1\t1\t1\t1\t3\t1\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t2\t2\t2\t2\t2\t2\t1\t3\t4\t1\n2\t1\t2\t2\t1\t1\t1\t3\t3\t1\t4\t1\t1\t3\t1\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t4\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t2\t1\t1\t3\t1\t1\t1\t3\t2\t2\t1\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t2\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t2\t3\t3\t3\t3\t3\t2\t2\t3\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t2\t2\t3\t3\t1\t3\t1\t1\t3\t1\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t1\t2\t3\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t2\t2\t2\t1\t1\t2\t3\t3\t3\t3\t2\t1\t3\t4\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t1\t1\t3\t4\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t2\t2\t2\t2\t1\t2\t3\t1\t1\t1\t1\t1\t3\t1\t1\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t3\t3\t3\t3\t3\t2\t2\t3\t2\n1\t1\t2\t2\t1\t1\t1\t2\t2\t2\t2\t2\t1\t3\t4\t1\n";
+   }
+}
+
+
+function demo8nodes()
+{
+  with(window.document.key_search)
+  {
+
+searchkey.value="Geno1\tGeno2\tTrait1\tTrait2\tTrait3\tTrait4\tTrait5\tTrait6\n2\t2\t0.46259\t1.2692\t-1.3164\t-0.44096\t0.5929\t-0.75422\n1\t1\t-0.10011\t-0.88834\t1.6407\t0.99972\t0.31288\t0.65602\n1\t1\t-1.0533\t-0.55296\t1.2715\t1.3686\t-0.19153\t0.37361\n1\t2\t0.042371\t0.13573\t-0.72659\t-0.66133\t0.43157\t-1.6715\n1\t2\t-0.68686\t-1.6152\t-0.95019\t-1.2239\t0.12319\t-0.79155\n1\t1\t-0.4558\t0.090877\t0.94224\t1.2354\t-0.36356\t0.34937\n1\t1\t0.237\t-0.49002\t1.8939\t1.4399\t0.033059\t1.3229\n1\t2\t0.070265\t0.22547\t-1.4903\t-0.069341\t-0.16148\t-0.01449\n1\t1\t-0.69146\t-0.43461\t1.1501\t0.21205\t-0.18087\t0.32746\n1\t1\t0.31535\t-0.9858\t0.57816\t0.35924\t0.12866\t1.0553\n2\t1\t1.2718\t0.39314\t0.6669\t0.90002\t-0.30206\t1.3376\n1\t1\t1.1871\t-0.45611\t0.87227\t0.31014\t-0.092846\t0.81278\n2\t1\t-1.0168\t-0.44286\t1.6933\t0.72968\t0.038808\t0.81906\n2\t2\t-0.25313\t0.52468\t0.02823\t-0.20984\t-0.075809\t-1.3591\n1\t2\t-0.58108\t-0.3967\t-0.11925\t-0.61288\t0.46778\t0.090941\n1\t2\t-0.88043\t-0.28187\t-1.1645\t-1.2543\t-0.28951\t-1.039\n1\t2\t0.54121\t0.24395\t-1.0043\t-1.4483\t-0.19839\t-2.5407\n2\t1\t0.47375\t1.1319\t0.68553\t1.035\t0.44043\t1.3011\n2\t1\t0.57785\t0.69093\t1.5941\t1.6735\t0.19981\t0.50708\n1\t2\t-0.43989\t0.0024131\t-1.5405\t-1.2304\t-0.15382\t-1.1058\n2\t1\t0.38035\t-0.063535\t1.1606\t1.3124\t-0.38043\t0.6277\n1\t2\t0.70114\t-0.41044\t-0.39767\t-1.5424\t0.27477\t-0.76183\n1\t1\t-0.9406\t-0.20526\t1.3302\t1.097\t0.16006\t1.2988\n1\t2\t0.52122\t0.064793\t-0.031492\t0.21696\t-0.41979\t-0.79123\n1\t2\t-0.53387\t-0.71043\t-0.52344\t-1.5584\t-0.09538\t-1.5781\n1\t1\t0.49563\t-0.58126\t0.7747\t1.274\t0.19196\t0.10624\n2\t2\t1.1499\t1.879\t0.43595\t0.73474\t0.045381\t-0.88645\n1\t2\t0.40705\t-0.37647\t-0.19815\t-1.5366\t0.37167\t-0.10553\n2\t2\t0.62526\t0.043371\t-0.64449\t-0.44076\t-0.4318\t-0.91807\n1\t1\t-0.61788\t-0.62414\t0.3169\t0.85091\t-0.10135\t0.79065\n1\t1\t0.18491\t-1.5226\t1.1149\t0.75046\t0.25948\t0.42431\n2\t2\t0.86063\t0.92883\t-1.1584\t-0.099858\t-0.55095\t-0.064129\n1\t2\t-0.28946\t0.0057533\t-0.95703\t-0.44018\t0.084268\t-0.23718\n1\t1\t-0.073096\t0.16452\t1.4444\t1.1452\t0.46025\t0.30452\n1\t1\t0.15637\t-0.73137\t0.585\t-0.046911\t0.43881\t1.2888\n1\t2\t0.081142\t-0.63691\t-0.14883\t0.66593\t-0.13479\t-0.22207\n1\t1\t0.10876\t-0.23383\t1.8314\t1.3282\t0.4362\t0.90139\n1\t2\t-1.0582\t-0.97152\t-0.57118\t-1.2617\t0.17115\t-0.060679\n2\t2\t-0.47421\t-0.56819\t-0.38775\t0.035215\t0.51982\t-1.6309\n2\t2\t-0.10242\t0.8127\t0.41773\t-1.1308\t-0.30719\t-0.80758\n1\t1\t-0.083462\t-0.4565\t1.1556\t0.3299\t0.087362\t0.31349\n1\t2\t-0.98158\t0.01727\t-1.3281\t-1.4474\t0.54555\t-0.10096\n1\t1\t-0.80604\t-0.19415\t1.4986\t1.3386\t-0.16367\t0.68271\n1\t1\t0.80082\t-0.57853\t1.0716\t0.94015\t-0.54114\t0.032172\n2\t2\t2.0456\t0.97954\t-0.45536\t-0.14332\t-0.25819\t-1.0833\n1\t1\t-0.30148\t0.20623\t0.64194\t0.76414\t-0.59067\t0.64326\n1\t1\t-0.55625\t-0.26957\t1.8447\t1.6568\t-0.38077\t0.58831\n1\t2\t0.11898\t0.80706\t-0.025844\t-0.57984\t-0.23395\t-1.1554\n1\t2\t-0.095497\t-1.0637\t-0.92583\t-0.57928\t0.23695\t-0.42992\n2\t2\t0.066154\t0.73037\t-0.73622\t-0.57047\t0.39169\t0.40928\n1\t1\t0.81522\t0.11381\t0.68971\t0.29219\t0.037792\t0.81502\n1\t1\t-0.65356\t-0.20182\t0.92089\t0.92298\t-0.5417\t0.49215\n1\t1\t-0.90826\t-0.10979\t1.3847\t0.75954\t-0.20255\t0.32975\n1\t2\t-0.25671\t-1.1903\t-1.4241\t-1.6058\t-0.062549\t-1.3981\n2\t2\t-1.8038\t-1.4801\t-0.94121\t-1.6244\t0.4817\t-0.0029469\n1\t2\t0.12651\t0.028719\t-1.5818\t-1.0266\t0.19779\t-0.36357\n1\t1\t-1.0658\t-0.58443\t0.68956\t0.35467\t0.11177\t1.5243\n1\t2\t0.14729\t-0.15111\t-0.027639\t-0.2899\t0.11533\t-0.60305\n2\t2\t-0.76889\t0.87161\t-0.83556\t-1.1777\t-0.21878\t-0.98527\n2\t2\t0.12252\t0.49068\t-0.2557\t-1.5816\t0.25332\t-0.78715\n1\t1\t-0.40287\t0.26456\t0.62208\t0.60909\t0.36074\t0.092703\n2\t1\t-0.78301\t1.4641\t1.3162\t1.9448\t-0.10841\t0.9618\n1\t2\t-0.25018\t-0.32797\t-1.113\t-1.6123\t0.6272\t-1.2718\n2\t1\t0.15804\t-0.18147\t2.4571\t0.59504\t-0.34056\t0.8691\n2\t1\t-0.582\t0.25738\t1.4075\t0.92251\t-0.40889\t0.66381\n1\t1\t-0.26827\t0.58632\t0.51883\t1.5745\t-0.13818\t1.0526\n1\t2\t0.13453\t0.18218\t-0.51676\t-0.54166\t-0.36636\t-1.206\n2\t1\t1.1502\t0.36164\t1.9983\t1.0809\t0.11272\t0.67683\n1\t2\t0.27812\t0.46559\t-1.6109\t-0.91039\t0.3803\t-0.71802\n2\t1\t0.15292\t0.61921\t0.71009\t1.3063\t-0.35819\t0.8661\n1\t2\t0.19902\t0.48986\t-1.4026\t-0.8495\t0.47158\t0.0622\n2\t1\t0.4838\t1.1096\t1.4392\t1.1438\t0.34739\t0.084004\n1\t1\t-0.63609\t-0.35105\t0.63581\t1.1939\t-0.062938\t0.91353\n1\t2\t0.64203\t-0.5095\t-1.7792\t-0.88803\t0.43482\t-0.66314\n1\t1\t-0.18434\t-0.48157\t0.69942\t0.56942\t-0.019967\t0.50506\n1\t1\t0.10168\t-1.0928\t1.2144\t0.28313\t0.22159\t0.54058\n1\t1\t-0.18578\t-0.45336\t1.5468\t0.99679\t0.11821\t1.0476\n1\t2\t-0.60607\t-1.1275\t-0.90963\t-0.69014\t-0.33163\t-1.2734\n1\t1\t-0.35353\t-0.42708\t0.78989\t0.14094\t-0.056632\t0.80598\n1\t1\t-0.020221\t-1.1235\t1.9782\t-0.041281\t0.19857\t1.2488\n1\t1\t1.2346\t-0.37121\t1.3325\t1.1237\t-0.027458\t1.0044\n2\t2\t-0.54489\t1.6812\t-0.59836\t-0.012441\t0.41243\t-0.58835\n2\t1\t-0.029577\t2.1707\t1.3285\t1.2109\t0.29684\t0.90646\n2\t2\t0.70774\t1.0606\t-1.3996\t-0.020914\t-0.60955\t-1.2187\n2\t1\t0.07926\t0.52862\t1.3994\t0.54549\t0.55303\t0.16155\n1\t1\t0.041856\t-0.92023\t0.87269\t-0.66601\t-0.15945\t0.1004\n1\t2\t0.17665\t0.31945\t-1.7756\t-0.60442\t0.020525\t-1.0625\n1\t1\t-0.090238\t-0.65111\t0.56993\t-0.4117\t-0.19486\t-0.18849\n1\t2\t0.059166\t-0.47194\t-0.69068\t-0.41022\t0.25867\t-0.057175\n1\t2\t0.10473\t0.66887\t0.082035\t-0.55975\t-0.28439\t-1.468\n1\t1\t-0.20937\t-0.36621\t0.09609\t0.28164\t0.24673\t-0.11107\n1\t2\t-1.2678\t0.22369\t-0.42201\t-0.70103\t0.075915\t-1.3347\n1\t2\t-0.35467\t0.11166\t-0.42144\t-0.095223\t-0.29936\t-0.68322\n2\t2\t0.84875\t1.24\t-0.81217\t0.084034\t-0.32224\t-1.6241\n2\t1\t-0.45939\t1.3208\t0.97993\t1.2991\t-0.015791\t1.487\n1\t2\t-0.42254\t-0.57928\t-0.58529\t-2.2375\t0.51999\t-0.79909\n2\t1\t0.32092\t-0.13796\t0.67098\t0.24639\t-0.36066\t-0.032948\n1\t2\t-1.2408\t-0.94836\t0.026276\t-0.37981\t-0.02237\t-0.38777\n2\t2\t0.20959\t2.1466\t-1.7027\t-1.3169\t-0.16515\t-1.046\n2\t2\t-0.10482\t1.3773\t-1.2998\t-0.014223\t0.34065\t-0.35362\n1\t2\t-0.6188\t-1.2477\t-0.62084\t0.27682\t0.1674\t-0.8918\n1\t1\t-0.97246\t-0.73017\t1.3843\t1.5549\t0.1067\t0.85754\n1\t1\t0.74567\t-0.032694\t1.1153\t0.97318\t-0.0033905\t0.85059\n2\t2\t0.29324\t-0.090608\t-0.4945\t-1.0484\t-0.14987\t-1.0141\n2\t1\t-0.86818\t0.44948\t1.8531\t0.51896\t-0.021141\t1.8486\n1\t2\t0.362\t-0.29749\t-0.66525\t0.21709\t-0.15594\t-1.4087\n1\t2\t-0.17675\t0.36465\t-0.45423\t-1.262\t0.22968\t-1.246\n1\t2\t-0.34633\t-0.16067\t-1.2216\t-1.3019\t-0.040891\t-1.2935\n1\t2\t0.44608\t-0.57732\t0.25606\t-1.1664\t0.54705\t-0.19859\n1\t2\t0.45398\t-0.55214\t-0.33433\t-0.085418\t-0.10094\t-0.48509\n1\t2\t0.12407\t0.022419\t-1.0312\t-0.47727\t0.20924\t-1.2961\n1\t1\t-0.76644\t-1.1794\t1.2345\t0.84756\t0.1532\t0.77648\n1\t2\t-0.10329\t-0.53768\t-0.67677\t-0.58708\t-0.014634\t-0.036347\n1\t1\t0.2378\t0.15372\t0.49652\t0.29193\t0.19047\t1.152\n1\t2\t0.024605\t-0.38937\t-0.89907\t-0.42106\t0.16921\t-0.80893\n1\t2\t0.28812\t0.26265\t-0.94234\t-0.88527\t-0.49803\t0.48254\n1\t1\t0.85086\t0.11783\t1.5014\t1.2382\t0.24441\t1.3649\n2\t2\t0.86172\t0.14894\t-0.4846\t-1.3488\t-0.41844\t-1.1372\n1\t2\t0.67971\t-0.27488\t-0.50687\t-0.79153\t-0.093399\t-1.391\n1\t1\t-0.91977\t-0.66099\t0.5801\t0.46587\t-0.2263\t1.43\n1\t2\t0.88213\t-0.48674\t-0.42406\t-1.2762\t0.28981\t-1.0813\n2\t1\t-0.36583\t0.51518\t1.4491\t1.4995\t-0.073755\t1.1218\n1\t1\t-0.54006\t-0.59443\t0.81263\t0.65809\t-0.15621\t1.2508\n2\t2\t1.2125\t-0.012648\t-0.92657\t-0.81972\t-0.1536\t-1.0176\n1\t2\t0.42493\t0.34558\t-1.7672\t-1.3503\t-0.045928\t0.37449\n1\t1\t0.17097\t-0.86593\t-0.13424\t1.0257\t0.058014\t0.91044\n2\t1\t-1.393\t0.5338\t1.8514\t2.291\t0.15305\t0.30028\n1\t1\t-0.58552\t-1.5337\t1.5133\t0.9976\t0.64638\t1.4428\n1\t2\t0.046272\t-0.56387\t-0.86063\t-1.0462\t0.014457\t-1.3038\n1\t2\t0.34933\t-0.16796\t-0.27854\t-0.27327\t-0.0040928\t-0.17912\n1\t1\t-1.0672\t0.3979\t1.208\t0.50111\t-0.013978\t0.015097\n1\t2\t0.31052\t-0.46723\t-1.1237\t0.59267\t0.30978\t-1.0169\n1\t2\t-0.55337\t-0.42776\t-0.12612\t-0.41838\t-0.56558\t-0.58189\n2\t2\t0.3925\t0.15644\t-0.72963\t-0.66601\t-0.10837\t-0.27787\n1\t2\t-0.48513\t-1.4119\t-0.16889\t-0.19646\t-0.068098\t-0.084247\n2\t2\t0.16692\t1.5447\t-1.3064\t-1.3338\t-0.25668\t-0.48832\n1\t2\t-0.36092\t0.31518\t-0.44815\t-1.4019\t-0.47505\t-0.37187\n1\t1\t-1.8192\t-0.57745\t1.1304\t0.262\t-0.3595\t0.58577\n1\t1\t-0.065383\t0.07156\t1.4931\t2.3215\t0.85149\t1.4585\n2\t1\t-1.119\t0.70896\t1.0498\t0.74334\t0.75838\t1.6107\n2\t2\t-0.17682\t-0.21029\t-0.74465\t-0.83806\t0.10827\t-1.2829\n1\t2\t0.69834\t-0.082402\t0.64008\t-0.83119\t-0.26766\t0.36961\n2\t2\t-0.28266\t1.1929\t-0.15174\t0.098554\t-0.33989\t-0.6376\n2\t2\t1.5369\t1.8434\t0.0030761\t-0.59703\t0.14497\t-1.5165\n1\t2\t0.35023\t-0.28475\t-0.93594\t-1.0937\t-0.46614\t-2.188\n2\t1\t0.62308\t1.0873\t-0.0037182\t0.86847\t-0.48699\t-0.10105\n1\t1\t-1.0408\t-0.99866\t2.0799\t1.1634\t0.092516\t0.30401\n1\t1\t-0.87125\t-0.88987\t1.0278\t1.0157\t-0.23725\t1.2377\n1\t2\t-0.020591\t-0.03398\t-0.024834\t-1.3588\t-0.045961\t-0.89693\n1\t1\t0.9213\t-0.57037\t1.044\t1.2994\t0.046517\t0.66563\n1\t2\t-0.87288\t-0.96382\t-0.704\t-1.2184\t0.046903\t-0.30008\n1\t2\t0.77586\t-0.34168\t-0.09867\t-0.37744\t-0.24309\t-0.13441\n2\t1\t0.19521\t0.67595\t1.4533\t1.5115\t0.19553\t0.79596\n2\t1\t-1.3273\t1.0891\t1.2544\t0.98928\t0.045725\t0.54963\n2\t2\t0.59176\t0.65915\t-0.84578\t-0.080229\t-0.26961\t0.24045\n1\t2\t-0.66958\t-1.042\t-1.2138\t-0.7612\t-0.22775\t-0.40062\n1\t2\t1.1154\t-0.57069\t-0.6592\t-2.1961\t-0.013175\t0.46007\n1\t2\t-0.5254\t0.0031225\t-0.77758\t0.8169\t0.13224\t-0.65572\n2\t1\t0.24551\t1.5078\t0.10719\t1.1454\t0.70578\t0.59051\n1\t2\t0.29875\t-0.11455\t-1.0497\t-0.77881\t0.080708\t-0.48337\n1\t1\t-0.1047\t0.011628\t1.2504\t0.41776\t-0.20102\t1.2252\n1\t2\t0.44808\t-0.8165\t-0.080134\t-0.49618\t0.051011\t-0.71722\n2\t1\t2.0365\t1.5592\t1.3257\t1.2472\t-0.47899\t0.10943\n1\t1\t-0.16507\t-0.66011\t0.98739\t0.58519\t0.245\t-0.43277\n1\t2\t-0.028366\t-0.16961\t-1.3266\t0.14248\t-0.24634\t-1.1154\n2\t1\t0.92842\t1.8842\t1.3169\t1.0358\t-0.20988\t0.88021\n2\t2\t0.33158\t0.32463\t-0.50924\t0.40233\t0.54391\t-0.24309\n1\t2\t1.2555\t0.1928\t-0.487\t0.048779\t-0.23483\t-1.477\n2\t1\t0.75021\t0.85943\t-0.2323\t0.10748\t-0.68906\t0.84276\n2\t2\t0.6297\t1.7397\t-1.6136\t-0.43268\t-0.21442\t-0.77462\n2\t1\t0.53168\t1.0807\t1.0853\t0.62304\t0.44036\t0.48087\n1\t2\t-0.31256\t-0.69771\t-0.88556\t-1.333\t0.038614\t-1.5744\n1\t2\t-0.039695\t-0.52447\t0.91401\t-0.93272\t0.53434\t-0.080746\n2\t1\t-0.16596\t0.56821\t0.76008\t0.45442\t0.10286\t0.6539\n1\t2\t-0.4331\t-0.89669\t-1.3097\t-1.2157\t0.1065\t-0.8512\n1\t2\t-0.34708\t-0.51457\t-1.012\t-0.39437\t-0.55374\t-1.144\n2\t2\t0.024082\t0.7128\t-1.3702\t-1.4492\t-0.10228\t-0.59071\n1\t2\t-0.0037109\t-0.68845\t-0.649\t-0.91581\t0.066805\t-0.98583\n2\t1\t0.68706\t0.067424\t0.87139\t0.7938\t-0.099645\t1.529\n2\t2\t-0.31183\t0.57814\t-0.80815\t-0.66724\t-0.31919\t-0.61319\n1\t2\t-0.11153\t-0.6246\t-0.27979\t-0.18363\t0.83639\t0.014919\n2\t2\t0.20406\t1.5838\t-0.96334\t-1.1228\t-0.17808\t-1.2123\n2\t2\t-0.1134\t0.63358\t-0.53321\t-0.84276\t-0.27657\t-0.36992\n1\t2\t0.25517\t0.67006\t-0.1349\t0.18275\t0.40982\t-0.62487\n1\t1\t-1.2684\t0.31042\t0.91155\t0.66143\t0.2483\t-0.12434\n1\t1\t-0.97542\t-0.85419\t0.7663\t0.16362\t-0.18737\t0.67266\n1\t2\t-0.043882\t-0.62746\t-0.82816\t-0.40626\t-0.051048\t-0.61297\n1\t1\t0.59605\t-0.45852\t1.2962\t0.78156\t-0.48154\t0.17778\n2\t2\t-0.06266\t1.1144\t-0.80524\t-0.3189\t-0.16038\t-0.96372\n1\t2\t-1.1821\t1.0798\t-1.3407\t-0.52643\t0.12458\t-0.7871\n2\t2\t0.59446\t0.89186\t-0.97856\t-0.64658\t0.2712\t-1.5538\n1\t2\t0.15067\t0.41827\t-1.0487\t-1.0551\t0.19143\t-1.4537\n1\t2\t-1.073\t0.022587\t-1.7088\t-1.3777\t0.1964\t-0.84025\n2\t1\t0.20928\t1.8026\t1.2073\t2.78\t0.15131\t0.3448\n1\t2\t-1.1317\t-0.6359\t-0.70457\t-1.676\t-0.22886\t-0.58769\n1\t1\t-0.039428\t-0.58746\t0.56\t0.7896\t-0.052581\t0.99511\n1\t2\t0.55023\t-0.20403\t0.138\t-0.70518\t0.66927\t-0.28861\n2\t2\t0.57423\t1.1886\t0.092876\t0.025677\t-0.41099\t-1.2858\n2\t2\t-0.14179\t1.5827\t-0.94328\t0.7703\t-0.43967\t-0.50448\n2\t2\t0.14666\t1.0492\t-0.0030259\t-0.62418\t-0.087515\t-0.048386\n";
+   }
+}
+
+function demochl()
+{
+  with(window.document.key_search)
+  {
+
+searchkey.value="Ctrq3\tMAS\tNeutrophil\tLoad\tWeight\n2\t0.969230769\t3\t3.252367514\t1\n2\t0.925170068\t1.6\t2.46322088\t1.033472803\n1\t0.427272727\t33.8\t4.206610024\t0.831372549\n2\t0.877835951\t8.3\t3.764250875\t0.967153285\n2\t0.914862915\t4.4\t3.691700208\t1.046025105\n2\t0.560334528\t4.9\t2.604550033\t0.98046875\n1\t0.383073497\t13.1\t4.273556814\t0.812316716\n1\t0.101010101\t18.6\t5.089640217\t0.771929825\n1\t0.106719368\t18.9\t4.915125346\t0.80994152\n2\t0.894736842\t2.5\t2.691700208\t0.995515695\n1\t0.067226891\t19.8\t4.878194228\t0.846153846\n2\t0.921022067\t2.9\t4.127428778\t1.03875969\n2\t0.938701923\t0.7\t4.366310867\t0.984732824\n1\t0.658008658\t15.7\t4.531121115\t0.884210526\n2\t0.9\t4.8\t2.604550033\t0.913194444\n2\t0.790923825\t10.4\t2.390670213\t0.892857143\n1\t0.295539033\t8.6\t4.24137213\t0.85840708\n2\t0.317757009\t12.2\t4.449648073\t0.889830508\n1\t0.032418953\t20.2\t5.053428044\t0.811320755\n1\t0.603960396\t23.4\t4.283775979\t0.805460751\n2\t0.939351199\t3.6\t2.349277527\t0.952380952\n1\t0.978448276\t0.4\t3.495405563\t0.8875\n1\t0.1\t23.2\t4.675613388\t0.766101695\n1\t0.036363636\t32.6\t4.938109253\t0.828125\n1\t0.660247593\t9.2\t3.826398782\t0.921052632\n1\t0.078651685\t35.8\t4.513630383\t0.852112676\n1\t0.186915888\t20.7\t5.048247532\t0.779761905\n1\t0.071578947\t35.6\t4.574586809\t0.797356828\n1\t0.239520958\t15.4\t4.331548761\t0.941176471\n1\t0.205741627\t24.5\t5.058547488\t0.774193548\n1\t0.062300319\t13.4\t4.594790195\t0.832236842\n2\t0.599675851\t5\t4.18178644\t0.969348659\n1\t0.324246772\t13.5\t4.252367514\t0.858585859\n1\t0.87628866\t14.2\t2.929061124\t0.869863014\n1\t0.146103896\t15.6\t4.579726449\t0.9\n1\t0.257383966\t22.5\t5.210214148\t0.75\n1\t0.033333333\t31.1\t4.632578756\t0.718644068\n1\t0.29739777\t36.1\t3.880756445\t0.798353909\n2\t0.872979215\t4.2\t4.097465554\t0.856756757\n2\t0.909221902\t4.3\t3.650307523\t0.976\n1\t0.10041841\t28.3\t4.46322088\t0.757462687\n";
+   }
+}
+
+function demospnl()
+{
+  with(window.document.key_search)
+  {
+
+searchkey.value="rs3664317\tOas1a\tParp9\tDhx58\tCd1d1\tIrf7\tOas3\tPml\tMx1\tIfit1\tTrim25\tOas1g\tPglyrp3\tIfih1\n1\t8.34\t9.812\t8.774\t9.79\t9.663\t8.27\t11.036\t7.284\t8.286\t10.395\t8.521\t6.186\t8.83\n1\t8.368\t9.738\t8.566\t9.144\t9.484\t8.818\t11.03\t6.977\t8.294\t10.076\t8.529\t5.968\t8.828\n1\t8.178\t9.57\t8.726\t9.575\t10.106\t8.99\t10.878\t7.205\t8.676\t10.036\t8.61\t5.976\t9.024\n1\t8.116\t9.901\t8.904\t9.959\t9.793\t8.336\t11.105\t7.598\t8.316\t10.292\t8.401\t5.814\t8.836\n2\t8.099\t9.68\t8.876\t10.116\t9.771\t8.379\t11.028\t7.438\t8.541\t10.215\t8.32\t5.917\t9.073\n1\t8.262\t9.59\t8.24\t10.088\t8.938\t7.832\t10.486\t6.752\t7.825\t9.908\t8.196\t6.15\t8.446\n1\t7.915\t9.415\t8.308\t9.707\t9.12\t8.702\t11.102\t7.208\t8.243\t10.034\t7.897\t6.06\t8.892\n2\t8.565\t10.002\t8.96\t9.779\t10.322\t9.24\t11.278\t7.644\t8.893\t10.42\t8.773\t5.914\t9.407\n1\t8.189\t9.774\t8.541\t9.939\t9.134\t7.819\t10.766\t7.122\t8.352\t10.113\t8.492\t6.269\t9.055\n1\t8.476\t9.954\t8.908\t9.476\t9.92\t8.764\t11.134\t7.859\t8.788\t10.17\t8.862\t6.226\t9.17\n2\t8.119\t9.946\t8.876\t9.578\t10.02\t8.734\t11.244\t7.85\t8.838\t10.557\t8.56\t5.98\t9.353\n2\t8.305\t9.713\t8.972\t9.789\t9.839\t8.804\t10.948\t7.682\t8.896\t10.181\t8.854\t5.979\t9.567\n2\t8.654\t10\t9.306\t9.439\t10.457\t9.223\t10.922\t7.082\t8.942\t10.131\t9.162\t6.01\t9.74\n1\t8.105\t9.748\t8.725\t10.119\t9.782\t8.575\t11.113\t7.63\t8.674\t10.355\t8.59\t6.279\t8.908\n1\t8.247\t9.715\t8.829\t9.646\t9.953\t9.668\t11.112\t7.384\t9.221\t10.19\t8.64\t6\t9.552\n1\t8.511\t9.994\t9.014\t9.89\t10.266\t8.444\t10.599\t7.331\t9.153\t10.012\t8.837\t6.148\t9.023\n2\t8.947\t10.28\t9.483\t9.398\t11.23\t9.86\t11.324\t8.006\t9.772\t10.524\t9.587\t5.865\t10.067\n1\t8.526\t9.685\t8.921\t9.7\t10.126\t9.373\t11.121\t7.497\t9.003\t10.357\t8.156\t6.334\t9.678\n2\t8.06\t9.745\t9.092\t9.278\t10.231\t8.976\t10.998\t7.578\t9.145\t10.283\t8.611\t6.168\t9.413\n2\t7.93\t9.728\t8.694\t9.512\t9.826\t9.016\t11.276\t7.604\t8.767\t10.378\t8.577\t5.963\t9.264\n2\t8.511\t9.686\t9.014\t8.982\t10.508\t10.108\t11.304\t7.441\t9.133\t10.341\t9.04\t6.2\t9.974\n2\t8.645\t9.997\t8.97\t9.443\t10.393\t9.302\t11.409\t7.785\t8.894\t10.552\t9.051\t5.997\t9.412\n2\t8.293\t9.802\t9.001\t9.524\t10.156\t9.263\t11.212\t7.772\t8.581\t10.433\t8.514\t6.093\t9.177\n1\t7.781\t9.712\t8.97\t9.375\t10.12\t9.484\t11.317\t7.347\t8.972\t10.393\t8.352\t6.193\t9.587\n2\t8.465\t9.88\t8.913\t9.816\t9.965\t8.852\t11.138\t7.537\t8.625\t10.426\t8.617\t6.044\t9.556\n2\t8.657\t10.026\t9.189\t9.691\t10.302\t9.268\t11.194\t7.634\t9.143\t10.378\t9.05\t6.067\t9.679\n2\t7.634\t9.606\t8.36\t9.465\t8.41\t8.605\t11.183\t6.942\t8.174\t9.952\t7.478\t6.09\t9.535\n1\t7.669\t9.494\t8.779\t9.552\t9.362\t8.52\t11.024\t7.131\t8.378\t10.391\t8.114\t6.07\t8.851\n2\t8.618\t10.212\t9.433\t9.672\t10.442\t9.21\t11.328\t8.045\t9.322\t10.5\t9.128\t5.994\t9.656\n2\t8.731\t10.27\t9.342\t9.43\t10.697\t10.117\t11.286\t7.749\t9.734\t10.464\t9.322\t6.156\t9.876\n1\t7.554\t9.524\t8.759\t9.93\t9.52\t8.279\t10.82\t7.32\t8.316\t10.31\t8.186\t6.068\t9.046\n1\t8.262\t9.677\t8.75\t9.444\t10.052\t8.634\t10.888\t7.32\t8.562\t9.893\t8.644\t6.212\t8.918\n1\t7.823\t9.628\t8.66\t9.529\t9.578\t8.736\t11.206\t7.171\t8.408\t10.062\t8.111\t5.838\t9.033\n1\t8.28\t9.572\t8.784\t9.428\t9.862\t9.424\t11.27\t7.288\t8.505\t10.174\t8.642\t6.022\t9.313\n2\t9.09\t10.053\t9.599\t9.469\t11.004\t9.882\t11.436\t8.521\t9.814\t10.562\t9.704\t6.044\t10.061\n1\t8.446\t9.989\t9.297\t9.688\t10.577\t9.129\t11.102\t7.718\t9.484\t10.231\t9.072\t6.17\t9.21\n1\t8.668\t9.858\t9.195\t9.385\t10.695\t9.249\t11.028\t7.765\t9.367\t10.319\t9.179\t6.136\t9.563\n2\t8.574\t10.059\t9.281\t9.233\t10.508\t9.247\t11.145\t8.138\t9.505\t10.402\t9.192\t5.992\t9.848\n2\t8.523\t10.052\t9.131\t9.507\t10.418\t9.413\t11.187\t7.641\t9.304\t10.465\t9.063\t6.095\t9.733\n1\t7.987\t9.748\t8.766\t9.578\t9.781\t8.482\t11.279\t7.52\t8.364\t10.141\t8.207\t6.192\t9.133\n2\t8.466\t9.429\t8.946\t9.395\t9.715\t9.071\t11.388\t7.592\t8.078\t10.32\t8.326\t6.108\t9.021\n1\t7.668\t9.694\t8.493\t10.112\t9.561\t8.394\t10.922\t7.26\t8.19\t10.27\t7.916\t5.892\t8.974\n2\t8.379\t10.037\t9.155\t9.683\t10.281\t9.2\t10.913\t7.173\t9.404\t10.381\t9.097\t6.099\t9.714\n2\t7.805\t9.654\t8.454\t9.198\t10.065\t9.468\t11.217\t6.917\t8.43\t10.459\t8.11\t6.068\t9.068\n1\t7.981\t9.8\t8.553\t9.946\t9.862\t8.901\t11.085\t7.214\t8.393\t10.373\t8.19\t6.05\t9.015\n1\t7.746\t9.688\t8.578\t9.901\t9.358\t7.866\t10.928\t7.354\t7.929\t10.233\t8.066\t5.754\t8.883\n1\t7.997\t9.859\t8.795\t9.867\t9.817\t8.734\t11.109\t7.416\t8.67\t10.247\t8.176\t6.143\t9.081\n1\t8.674\t9.689\t9.06\t9.81\t10.544\t8.995\t11.189\t7.781\t9.219\t10.07\t8.98\t5.992\t9.143\n1\t8.088\t9.49\t8.676\t9.456\t10.184\t8.737\t10.998\t7.222\t8.538\t10.192\t8.441\t6.147\t8.55\n1\t8.001\t9.801\t8.669\t9.977\t9.383\t8.274\t11.055\t7.231\t7.913\t10.272\t8.277\t5.931\t9.009\n2\t8.218\t9.458\t8.781\t9.214\t9.66\t8.87\t10.738\t7.241\t8.289\t10.029\t8.612\t6.125\t9.38\n1\t7.684\t9.56\t8.75\t10.077\t9.686\t8.27\t11.102\t7.206\t8.13\t10.212\t8.07\t6.018\t8.984\n2\t8.326\t9.696\t8.88\t9.714\t10.014\t9.08\t11.055\t7.256\t8.494\t10.054\t8.63\t6.177\t9.162\n2\t8.906\t10.106\t9.412\t9.704\t11.06\t9.854\t11.335\t7.799\t10.103\t10.471\t9.25\t6.033\t9.97\n1\t8.073\t9.793\t8.626\t9.879\t9.262\t8.408\t10.844\t7.108\t8.368\t9.959\t8.261\t6.052\t8.916\n2\t8.527\t10.026\t9.143\t9.244\t10.597\t9.566\t11.108\t7.778\t9.748\t10.351\t9.153\t6.055\t9.698\n2\t8.614\t10.05\t9.202\t9.508\t10.66\t9.63\t11.156\t7.758\t9.789\t10.324\t9.068\t6.15\t9.948\n2\t8.522\t10.158\t8.992\t9.684\t9.992\t8.55\t11.125\t7.914\t8.976\t10.311\t8.574\t5.889\t9.566\n1\t8.086\t9.6\t8.522\t9.544\t9.641\t8.514\t10.99\t7.386\t8.506\t10.194\t8.234\t6.02\t8.736\n1\t7.873\t9.596\t8.452\t9.422\t9.278\t8.509\t10.958\t7.057\t8.081\t9.981\t7.969\t6.136\t8.958\n2\t8.371\t9.99\t8.949\t9.931\t10.195\t8.935\t10.83\t7.694\t9.183\t10.493\t9.124\t6.128\t9.396\n2\t8.476\t9.982\t9.115\t9.639\t10.465\t9.833\t11.105\t8.058\t9.9\t10.351\t9.182\t6.05\t9.884\n1\t8.512\t9.995\t8.846\t9.951\t9.561\t8.558\t10.769\t7.584\t8.901\t10.139\t8.769\t5.959\t9.203\n1\t8.358\t9.858\t8.99\t9.981\t10.123\t9.368\t10.989\t7.463\t9.327\t9.93\t8.54\t6.02\t9.543\n1\t8.23\t9.614\t8.806\t9.919\t9.939\t9.108\t11.184\t7.766\t8.793\t10.174\t8.605\t5.972\t9.068\n2\t8.238\t9.802\t8.926\t9.595\t10.062\t8.77\t11.202\t7.712\t9.131\t10.34\t8.57\t6.05\t9.464\n1\t8.533\t10.108\t9.083\t10.214\t10.514\t8.463\t11.008\t7.356\t9.344\t10.196\t8.736\t6.262\t9.257\n1\t7.866\t9.444\t8.223\t9.865\t8.95\t8.539\t10.935\t6.754\t7.748\t10.177\t7.826\t6.29\t8.716\n2\t8.888\t10.031\t9.158\t9.407\t10.8\t9.547\t11.238\t7.659\t9.602\t10.398\t9.337\t6.028\t9.529\n1\t8.026\t9.682\t8.398\t9.824\t9.202\t8.041\t10.703\t7.322\t8.352\t10.209\t8.196\t6.009\t9.001\n2\t8.974\t10.071\t9.451\t9.348\t11.061\t9.686\t11.255\t8.077\t10.101\t10.323\t9.557\t6.006\t10.072\n1\t8.181\t9.432\t9.045\t9.544\t10.651\t9.18\t10.832\t7.419\t8.742\t9.818\t8.546\t6.33\t9.201\n1\t8.137\t9.676\t9.024\t9.37\t10.206\t9.944\t10.985\t7.226\t8.9\t10.362\t8.918\t6.352\t9.367\n";
+}
+}
+
+function demoksl()
+{
+  with(window.document.key_search)
+  {
+
+searchkey.value="FEV\tKol\tHyp\tlogBMI\tSmok\tAlc\tWork\tSex\tYear\n116.00\t745.00\t1.00\t3.360375\t1\t2\t2\t2\t2\n252.00\t680.00\t1.00\t3.477232\t2\t2\t2\t1\t2\n205.00\t669.00\t1.00\t3.285038\t2\t1\t2\t2\t2\n66.00\t636.00\t1.00\t3.11795\t2\t1\t2\t2\t2\n255.00\t669.00\t1.00\t3.21326\t2\t1\t2\t1\t2\n135.00\t555.00\t0.00\t3.474138\t2\t1\t2\t2\t2\n314.00\t475.00\t1.00\t3.086943\t1\t1\t2\t1\t2\n104.00\t825.00\t0.00\t3.194173\t2\t1\t2\t2\t2\n173.00\t634.00\t1.00\t3.293983\t1\t2\t2\t2\t2\n235.00\t657.00\t0.00\t3.175968\t2\t2\t2\t1\t2\n111.00\t619.00\t0.00\t2.939162\t2\t2\t1\t2\t2\n165.00\t668.00\t1.00\t3.222868\t2\t1\t2\t1\t2\n119.00\t620.00\t0.00\t3.141563\t2\t2\t2\t2\t2\n240.00\t588.00\t1.00\t3.357942\t1\t1\t2\t1\t2\n84.00\t791.00\t1.00\t3.039749\t1\t2\t2\t2\t2\n161.00\t654.00\t0.00\t3.269569\t1\t2\t2\t2\t2\n155.00\t656.00\t0.00\t3.083285\t1\t1\t2\t2\t2\n268.00\t617.00\t1.00\t3.399195\t1\t2\t2\t1\t2\n239.00\t850.00\t0.00\t3.170106\t2\t2\t2\t1\t2\n213.00\t797.00\t1.00\t2.958549\t1\t1\t1\t1\t2\n160.00\t628.00\t1.00\t3.670206\t1\t1\t2\t2\t2\n244.00\t447.00\t0.00\t3.365916\t2\t2\t2\t1\t2\n159.00\t732.00\t0.00\t3.067588\t1\t2\t2\t2\t2\n63.00\t661.00\t0.00\t2.986692\t1\t2\t2\t2\t2\n205.00\t987.00\t0.00\t3.189653\t1\t2\t2\t1\t2\n155.00\t499.00\t0.00\t3.241029\t1\t1\t2\t2\t2\n250.00\t714.00\t0.00\t3.165897\t2\t1\t2\t2\t2\n225.00\t1046.00\t1.00\t3.239854\t2\t2\t2\t2\t2\n266.00\t600.00\t0.00\t3.131573\t2\t2\t2\t1\t2\n220.00\t648.00\t0.00\t3.165897\t1\t1\t2\t2\t2\n89.00\t679.00\t1.00\t3.058707\t2\t2\t2\t1\t2\n118.00\t521.00\t1.00\t3.162094\t2\t2\t2\t1\t2\n224.00\t643.00\t0.00\t3.194173\t2\t1\t2\t1\t2\n225.00\t693.00\t1.00\t3.165897\t2\t2\t2\t1\t2\n176.00\t335.00\t0.00\t3.175968\t2\t2\t2\t1\t2\n267.00\t857.00\t1.00\t3.239071\t1\t2\t2\t2\t2\n153.00\t615.00\t1.00\t3.120601\t2\t2\t2\t2\t2\n205.00\t844.00\t1.00\t3.412137\t1\t1\t2\t2\t2\n295.00\t451.00\t1.00\t3.161247\t1\t2\t2\t1\t2\n293.00\t573.00\t0.00\t3.109507\t2\t2\t2\t1\t2\n281.00\t663.00\t0.00\t3.244544\t2\t2\t2\t1\t2\n156.00\t643.00\t0.00\t3.042616\t2\t2\t2\t2\t2\n207.00\t589.00\t1.00\t3.323956\t2\t2\t2\t1\t2\n221.00\t865.00\t0.00\t3.117065\t2\t1\t2\t2\t2\n218.00\t774.00\t1.00\t3.145445\t1\t2\t2\t2\t2\n211.00\t891.00\t1.00\t3.262318\t1\t2\t2\t2\t2\n182.00\t599.00\t1.00\t3.121483\t1\t2\t2\t2\t2\n221.00\t627.00\t1.00\t3.215269\t2\t1\t2\t1\t2\n219.00\t896.00\t1.00\t3.313458\t1\t2\t2\t1\t2\n168.00\t738.00\t1.00\t3.039749\t2\t2\t2\t2\t2\n161.00\t612.00\t1.00\t3.440418\t2\t2\t2\t1\t2\n130.00\t580.00\t1.00\t3.261169\t2\t1\t2\t2\t2\n170.00\t687.00\t0.00\t3.16674\t2\t1\t2\t2\t2\n188.00\t735.00\t1.00\t2.892592\t2\t2\t2\t2\t2\n114.00\t612.00\t0.00\t3.610377\t2\t1\t2\t2\t2\n208.00\t633.00\t0.00\t3.260402\t2\t2\t2\t2\t2\n233.00\t658.00\t0.00\t3.192121\t1\t1\t2\t1\t2\n176.00\t837.00\t1.00\t3.279406\t1\t1\t2\t2\t2\n290.00\t478.00\t0.00\t3.115735\t2\t1\t1\t1\t2\n144.00\t894.00\t1.00\t3.164208\t1\t1\t2\t2\t2\n198.00\t560.00\t0.00\t2.862772\t2\t2\t2\t1\t2\n180.00\t694.00\t0.00\t3.233173\t2\t2\t1\t1\t2\n144.00\t540.00\t0.00\t3.226844\t2\t2\t2\t2\t2\n66.00\t669.00\t0.00\t3.063858\t2\t2\t1\t1\t2\n150.00\t560.00\t0.00\t3.680343\t2\t1\t2\t2\t2\n231.00\t668.00\t0.00\t3.077773\t2\t2\t2\t1\t2\n83.00\t638.00\t0.00\t3.17346\t2\t2\t2\t1\t2\n201.00\t665.00\t0.00\t3.317453\t1\t1\t2\t2\t2\n129.00\t456.00\t0.00\t2.939691\t2\t2\t2\t1\t2\n198.00\t643.00\t1.00\t3.053529\t2\t2\t2\t2\t2\n173.00\t571.00\t1.00\t3.081451\t1\t1\t2\t2\t2\n201.00\t774.00\t0.00\t3.196221\t2\t2\t2\t2\t2\n255.00\t560.00\t1.00\t3.483085\t2\t2\t2\t1\t2\n249.00\t531.00\t1.00\t3.313095\t2\t1\t2\t1\t2\n216.00\t788.00\t0.00\t3.439777\t1\t1\t2\t2\t2\n217.00\t656.00\t0.00\t3.439456\t2\t2\t2\t1\t2\n134.00\t607.00\t1.00\t3.218876\t2\t1\t2\t2\t2\n192.00\t690.00\t0.00\t3.429461\t1\t2\t2\t1\t2\n231.00\t657.00\t1.00\t3.410157\t2\t1\t2\t1\t2\n185.00\t429.00\t0.00\t3.201526\t2\t1\t2\t1\t2\n184.00\t771.00\t0.00\t3.132882\t2\t2\t2\t2\t2\n287.00\t547.00\t0.00\t3.193763\t2\t1\t2\t1\t2\n206.00\t541.00\t1.00\t3.137666\t2\t1\t2\t2\t2\n252.00\t484.00\t0.00\t3.189653\t2\t2\t1\t1\t2\n282.00\t658.00\t1.00\t3.139833\t1\t2\t2\t1\t2\n203.00\t586.00\t1.00\t3.537475\t1\t1\t2\t2\t2\n177.00\t478.00\t0.00\t2.832036\t2\t2\t2\t1\t2\n156.00\t686.00\t1.00\t3.52371\t2\t2\t2\t2\t2\n165.00\t788.00\t0.00\t3.181797\t2\t2\t2\t2\t2\n212.00\t556.00\t0.00\t3.116622\t2\t2\t2\t1\t2\n167.00\t675.00\t1.00\t3.209633\t2\t2\t2\t2\t2\n284.00\t553.00\t1.00\t3.171784\t2\t2\t1\t1\t2\n101.00\t595.00\t1.00\t3.654029\t1\t1\t2\t2\t2\n262.00\t650.00\t0.00\t3.225255\t2\t2\t2\t1\t2\n81.00\t584.00\t1.00\t2.922624\t2\t1\t2\t2\t2\n304.00\t758.00\t0.00\t3.405189\t1\t1\t2\t1\t2\n227.00\t699.00\t1.00\t3.847378\t1\t1\t2\t2\t2\n185.00\t612.00\t0.00\t3.145445\t1\t1\t2\t2\t2\n203.00\t711.00\t1.00\t3.089678\t2\t2\t2\t1\t2\n144.00\t541.00\t1.00\t3.437208\t2\t1\t2\t1\t2\n297.00\t968.00\t0.00\t3.085116\t2\t2\t2\t1\t2\n170.00\t867.00\t0.00\t3.218876\t2\t1\t2\t2\t2\n281.00\t593.00\t0.00\t3.285787\t2\t2\t2\t1\t2\n228.00\t531.00\t1.00\t3.262701\t2\t2\t2\t1\t2\n203.00\t823.00\t1.00\t3.303952\t1\t2\t2\t2\t2\n161.00\t618.00\t0.00\t3.141995\t1\t1\t2\t2\t2\n170.00\t468.00\t1.00\t3.145875\t1\t1\t2\t2\t2\n194.00\t753.00\t0.00\t3.300271\t2\t2\t2\t1\t2\n230.00\t612.00\t0.00\t3.331847\t2\t2\t2\t1\t2\n161.00\t1028.00\t0.00\t3.042616\t2\t2\t2\t2\t2\n176.00\t446.00\t0.00\t3.345332\t2\t2\t2\t1\t2\n170.00\t675.00\t0.00\t3.24688\t2\t2\t1\t2\t2\n143.00\t667.00\t1.00\t3.170945\t2\t1\t2\t2\t2\n194.00\t591.00\t0.00\t3.058707\t2\t1\t2\t1\t2\n185.00\t851.00\t1.00\t3.464485\t1\t2\t2\t2\t2\n294.00\t615.00\t0.00\t3.286534\t2\t2\t1\t1\t2\n236.00\t605.00\t1.00\t3.280159\t2\t2\t2\t1\t2\n63.00\t703.00\t0.00\t3.100543\t2\t2\t2\t1\t2\n165.00\t634.00\t0.00\t3.022861\t2\t2\t2\t1\t2\n136.00\t593.00\t1.00\t3.009635\t2\t2\t2\t1\t2\n177.00\t716.00\t1.00\t3.531348\t1\t1\t2\t2\t2\n99.00\t483.00\t0.00\t3.19663\t2\t2\t2\t1\t2\n160.00\t657.00\t1.00\t3.49256\t2\t2\t2\t2\t2\n201.00\t539.00\t0.00\t3.123246\t1\t1\t2\t1\t2\n134.00\t532.00\t0.00\t3.041184\t2\t2\t2\t2\t2\n300.00\t802.00\t1.00\t3.464485\t2\t1\t2\t1\t2\n224.00\t937.00\t1.00\t3.023834\t1\t2\t2\t2\t2\n144.00\t701.00\t1.00\t3.225255\t2\t2\t2\t1\t2\n87.00\t625.00\t0.00\t3.439777\t1\t1\t2\t2\t2\n171.00\t687.00\t0.00\t3.200304\t2\t2\t2\t1\t2\n116.00\t508.00\t0.00\t2.879198\t2\t2\t2\t2\t2\n315.00\t612.00\t1.00\t3.256172\t2\t2\t1\t1\t2\n221.00\t583.00\t1.00\t3.017983\t1\t1\t2\t2\t2\n143.00\t727.00\t1.00\t3.222868\t2\t2\t2\t1\t2\n105.00\t754.00\t0.00\t2.901422\t2\t1\t2\t2\t2\n160.00\t500.00\t0.00\t3.054001\t2\t2\t2\t1\t2\n181.00\t659.00\t1.00\t3.100543\t1\t1\t2\t2\t2\n96.00\t666.00\t0.00\t3.022861\t2\t1\t2\t2\t2\n321.00\t446.00\t0.00\t3.21165\t2\t2\t2\t1\t2\n218.00\t826.00\t1.00\t3.033028\t2\t2\t2\t1\t2\n133.00\t759.00\t1.00\t3.516607\t1\t2\t2\t2\t2\n163.00\t717.00\t1.00\t3.097837\t2\t2\t2\t2\t2\n206.00\t628.00\t1.00\t3.380314\t2\t2\t2\t1\t2\n171.00\t669.00\t1.00\t3.162094\t2\t2\t2\t2\t2\n269.00\t600.00\t1.00\t3.335058\t2\t2\t1\t1\t2\n109.00\t728.00\t1.00\t3.435599\t2\t1\t2\t1\t2\n137.00\t481.00\t1.00\t3.52783\t2\t2\t2\t2\t2\n181.00\t516.00\t1.00\t3.160823\t1\t1\t2\t2\t2\n234.00\t692.00\t0.00\t3.357942\t2\t1\t1\t1\t2\n167.00\t578.00\t1.00\t3.295466\t1\t1\t2\t2\t2\n112.00\t679.00\t0.00\t3.488598\t1\t2\t2\t1\t2\n99.00\t751.00\t1.00\t3.338967\t1\t2\t2\t2\t2\n240.00\t954.00\t1.00\t3.209633\t2\t2\t2\t1\t2\n153.00\t604.00\t1.00\t3.302481\t1\t1\t2\t2\t2\n269.00\t601.00\t1.00\t3.116622\t2\t2\t2\t1\t2\n169.00\t521.00\t1.00\t3.222071\t2\t2\t2\t1\t2\n209.00\t488.00\t1.00\t3.214868\t2\t1\t2\t1\t2\n230.00\t724.00\t1.00\t3.14329\t2\t2\t2\t1\t2\n212.00\t705.00\t0.00\t3.141563\t1\t1\t2\t2\t2\n221.00\t560.00\t0.00\t3.221273\t2\t2\t2\t1\t2\n278.00\t760.00\t1.00\t3.163786\t1\t2\t1\t2\t2\n252.00\t675.00\t0.00\t3.163786\t2\t2\t2\t1\t2\n183.00\t1063.00\t1.00\t3.230014\t1\t1\t2\t2\t2\n146.00\t841.00\t1.00\t3.439135\t2\t2\t2\t2\t2\n296.00\t926.00\t1.00\t3.242202\t2\t1\t2\t1\t2\n185.00\t766.00\t0.00\t3.078233\t2\t2\t2\t2\t2\n188.00\t730.00\t1.00\t3.137666\t2\t1\t2\t2\t2\n209.00\t599.00\t0.00\t3.215269\t1\t2\t2\t1\t2\n254.00\t563.00\t0.00\t3.379974\t1\t1\t2\t2\t2\n293.00\t679.00\t1.00\t3.323596\t1\t2\t2\t1\t2\n75.00\t540.00\t1.00\t3.249599\t2\t1\t2\t2\t2\n219.00\t792.00\t1.00\t3.189653\t1\t2\t2\t1\t2\n170.00\t746.00\t0.00\t3.105035\t2\t2\t2\t2\t2\n252.00\t689.00\t1.00\t3.357942\t2\t2\t2\t1\t2\n221.00\t648.00\t0.00\t3.113515\t2\t2\t2\t2\t2\n303.00\t614.00\t1.00\t3.120601\t2\t2\t2\t1\t2\n166.00\t670.00\t1.00\t3.439777\t1\t1\t2\t2\t2\n105.00\t610.00\t0.00\t3.302113\t2\t1\t2\t1\t2\n218.00\t711.00\t1.00\t3.048325\t1\t2\t1\t1\t2\n173.00\t639.00\t1.00\t3.197039\t2\t1\t2\t2\t2\n206.00\t543.00\t0.00\t3.17346\t2\t2\t2\t1\t2\n102.00\t473.00\t0.00\t3.031099\t2\t2\t2\t2\t2\n319.00\t668.00\t0.00\t3.380995\t2\t1\t2\t1\t2\n221.00\t680.00\t1.00\t3.249599\t2\t1\t2\t2\t2\n141.00\t555.00\t0.00\t2.981633\t1\t2\t2\t2\t2\n167.00\t704.00\t1.00\t3.15359\t2\t2\t2\t2\t2\n152.00\t682.00\t1.00\t3.217275\t2\t2\t2\t1\t2\n72.00\t622.00\t1.00\t3.016515\t2\t2\t2\t1\t2\n161.00\t585.00\t1.00\t3.13201\t2\t2\t2\t1\t2\n52.00\t529.00\t1.00\t3.440739\t2\t1\t2\t2\t2\n197.00\t757.00\t1.00\t3.454422\t2\t2\t2\t1\t2\n167.00\t748.00\t0.00\t3.092859\t1\t2\t2\t2\t2\n287.00\t590.00\t1.00\t3.062924\t1\t2\t2\t1\t2\n183.00\t662.00\t0.00\t3.417071\t2\t2\t2\t1\t2\n263.00\t588.00\t1.00\t3.390136\t2\t2\t1\t1\t2\n243.00\t731.00\t0.00\t3.169686\t1\t1\t2\t2\t2\n366.00\t657.00\t0.00\t3.280159\t1\t2\t2\t1\t2\n171.00\t726.00\t0.00\t3.339322\t2\t1\t2\t2\t2\n114.00\t520.00\t1.00\t3.317091\t2\t2\t2\t1\t2\n156.00\t979.00\t0.00\t3.049273\t2\t2\t2\t2\t2\n140.00\t964.00\t1.00\t3.492256\t1\t2\t2\t2\t2\n215.00\t784.00\t1.00\t3.358986\t1\t1\t2\t2\t2\n296.00\t655.00\t1.00\t3.207613\t2\t1\t1\t1\t2\n291.00\t677.00\t0.00\t3.166319\t1\t1\t2\t1\t2\n152.00\t763.00\t0.00\t3.005683\t2\t2\t2\t2\t2\n141.00\t844.00\t0.00\t3.080992\t1\t2\t2\t2\t2\n257.00\t523.00\t0.00\t3.12016\t2\t1\t2\t1\t2\n153.00\t768.00\t0.00\t2.963209\t2\t2\t2\t2\t2\n221.00\t732.00\t0.00\t3.428164\t2\t2\t2\t1\t2\n167.00\t706.00\t1.00\t3.511545\t2\t1\t2\t2\t2\n179.00\t602.00\t0.00\t3.268047\t2\t1\t2\t1\t2\n72.00\t818.00\t1.00\t3.080073\t2\t2\t2\t2\t2\n57.00\t461.00\t1.00\t3.280159\t1\t1\t2\t2\t2\n189.00\t591.00\t1.00\t3.355851\t2\t2\t2\t1\t2\n182.00\t674.00\t1.00\t3.128075\t2\t2\t2\t2\t2\n252.00\t569.00\t1.00\t3.228826\t2\t2\t1\t1\t2\n127.00\t776.00\t1.00\t3.376563\t2\t2\t2\t2\t2\n207.00\t823.00\t1.00\t3.187179\t2\t2\t2\t2\t2\n170.00\t655.00\t0.00\t3.158276\t2\t2\t2\t2\t2\n99.00\t789.00\t1.00\t3.204777\t2\t1\t2\t2\t2\n306.00\t634.00\t1.00\t3.264614\t1\t2\t1\t1\t2\n294.00\t598.00\t0.00\t3.186766\t2\t2\t2\t1\t2\n66.00\t484.00\t0.00\t2.981126\t2\t2\t2\t1\t2\n200.00\t776.00\t0.00\t2.91398\t1\t1\t2\t2\t2\n197.00\t605.00\t0.00\t3.305054\t2\t1\t2\t1\t2\n180.00\t696.00\t1.00\t3.293983\t1\t1\t2\t2\t2\n176.00\t643.00\t1.00\t3.290638\t2\t2\t2\t1\t2\n177.00\t827.00\t1.00\t3.128075\t2\t2\t2\t2\t2\n105.00\t682.00\t0.00\t2.971952\t2\t1\t2\t2\t2\n102.00\t718.00\t1.00\t3.212455\t2\t1\t2\t2\t2\n306.00\t551.00\t0.00\t3.093766\t2\t2\t2\t1\t2\n258.00\t477.00\t1.00\t3.248823\t2\t1\t2\t1\t2\n108.00\t574.00\t0.00\t3.237109\t2\t2\t2\t2\t2\n218.00\t653.00\t0.00\t3.2312\t2\t2\t2\t1\t2\n140.00\t697.00\t0.00\t3.328268\t2\t2\t2\t2\t2\n165.00\t748.00\t1.00\t3.278276\t2\t2\t2\t1\t2\n101.00\t660.00\t0.00\t2.918851\t2\t1\t2\t2\t2\n237.00\t629.00\t0.00\t3.192121\t2\t2\t2\t1\t2\n132.00\t770.00\t1.00\t3.454106\t2\t1\t2\t2\t2\n306.00\t516.00\t0.00\t3.224858\t2\t2\t1\t1\t2\n146.00\t776.00\t0.00\t3.009142\t1\t2\t2\t2\t2\n38.00\t544.00\t1.00\t2.995732\t2\t1\t2\t2\t2\n141.00\t288.00\t1.00\t3.145875\t1\t2\t2\t2\t2\n195.00\t818.00\t1.00\t3.224858\t1\t1\t2\t2\t2\n174.00\t543.00\t0.00\t3.14329\t2\t2\t2\t1\t2\n180.00\t587.00\t1.00\t3.083285\t1\t1\t2\t2\t2\n138.00\t635.00\t0.00\t3.123246\t1\t2\t2\t2\t2\n207.00\t591.00\t0.00\t3.145875\t1\t2\t2\t2\t2\n156.00\t944.00\t0.00\t3.319264\t2\t2\t2\t2\t2\n251.00\t752.00\t1.00\t3.492865\t2\t2\t2\t1\t2\n99.00\t951.00\t1.00\t3.440739\t1\t2\t2\t2\t2\n263.00\t486.00\t1.00\t3.346741\t2\t2\t1\t1\t2\n153.00\t613.00\t1.00\t3.335414\t2\t2\t2\t1\t2\n156.00\t660.00\t1.00\t3.296207\t1\t1\t2\t2\t2\n263.00\t788.00\t1.00\t3.243373\t2\t2\t2\t1\t2\n162.00\t665.00\t1.00\t3.080992\t1\t2\t2\t2\t2\n183.00\t645.00\t1.00\t3.287655\t2\t1\t2\t1\t2\n171.00\t490.00\t1.00\t3.326833\t2\t1\t2\t2\t2\n192.00\t852.00\t1.00\t3.352707\t1\t2\t2\t2\t2\n240.00\t600.00\t0.00\t3.319264\t2\t2\t2\t1\t2\n177.00\t692.00\t0.00\t3.393165\t2\t2\t2\t1\t2\n207.00\t824.00\t0.00\t3.273364\t2\t2\t1\t2\t2\n218.00\t403.00\t1.00\t3.208421\t2\t1\t2\t1\t2\n168.00\t729.00\t0.00\t3.058707\t2\t2\t2\t2\t2\n153.00\t638.00\t1.00\t2.981633\t2\t2\t2\t1\t2\n177.00\t646.00\t1.00\t2.93492\t2\t2\t2\t2\t2\n198.00\t619.00\t0.00\t3.227637\t1\t2\t2\t2\t2\n216.00\t783.00\t0.00\t3.228826\t2\t2\t2\t1\t2\n177.00\t702.00\t1.00\t3.055415\t1\t1\t2\t2\t2\n294.00\t756.00\t1.00\t3.216072\t2\t2\t2\t1\t2\n189.00\t730.00\t0.00\t3.108168\t1\t1\t2\t2\t2\n272.00\t571.00\t0.00\t3.312002\t1\t2\t2\t1\t2\n200.00\t677.00\t1.00\t3.243764\t2\t2\t1\t2\t2\n189.00\t621.00\t1.00\t3.321432\t1\t2\t1\t1\t2\n144.00\t929.00\t1.00\t3.197039\t1\t2\t2\t2\t2\n245.00\t749.00\t1.00\t3.229222\t1\t1\t2\t1\t2\n195.00\t619.00\t0.00\t3.276767\t2\t2\t2\t1\t2\n117.00\t573.00\t1.00\t3.158276\t2\t2\t2\t2\t2\n107.00\t743.00\t1.00\t3.390136\t2\t2\t2\t1\t2\n125.00\t762.00\t0.00\t3.193763\t2\t2\t2\t1\t2\n243.00\t532.00\t0.00\t3.183456\t1\t2\t2\t2\t2\n114.00\t492.00\t1.00\t3.117507\t2\t2\t2\t1\t2\n123.00\t728.00\t1.00\t2.978077\t1\t2\t2\t2\t2\n189.00\t801.00\t1.00\t3.650139\t2\t2\t2\t2\t2\n255.00\t658.00\t0.00\t3.209229\t2\t2\t2\t1\t2\n234.00\t617.00\t0.00\t2.911263\t2\t2\t2\t1\t2\n225.00\t613.00\t0.00\t2.977059\t2\t1\t2\t2\t2\n255.00\t638.00\t0.00\t3.244544\t2\t2\t2\t1\t2\n132.00\t558.00\t1.00\t3.150169\t2\t1\t2\t2\t2\n186.00\t715.00\t1.00\t3.302481\t1\t1\t2\t2\t2\n136.00\t850.00\t1.00\t3.188004\t2\t2\t2\t2\t2\n198.00\t500.00\t0.00\t3.126322\t2\t1\t2\t1\t2\n191.00\t496.00\t1.00\t3.244933\t1\t2\t2\t1\t2\n165.00\t572.00\t1.00\t3.355851\t2\t2\t2\t2\t2\n114.00\t693.00\t1.00\t3.441379\t2\t1\t2\t2\t2\n240.00\t712.00\t1.00\t3.261169\t2\t2\t2\t1\t2\n141.00\t740.00\t1.00\t3.093766\t1\t1\t2\t2\t2\n222.00\t408.00\t1.00\t3.237109\t1\t2\t2\t1\t2\n120.00\t513.00\t0.00\t3.129389\t2\t1\t2\t2\t2\n279.00\t666.00\t1.00\t3.219276\t2\t2\t2\t1\t2\n180.00\t667.00\t1.00\t3.199081\t2\t1\t2\t2\t2\n81.00\t587.00\t0.00\t3.287282\t2\t2\t2\t1\t2\n138.00\t720.00\t1.00\t3.269569\t1\t1\t2\t2\t2\n104.00\t745.00\t1.00\t3.25925\t2\t2\t2\t1\t2\n183.00\t644.00\t0.00\t2.987196\t2\t2\t2\t2\t2\n195.00\t555.00\t0.00\t2.80699\t2\t2\t2\t1\t2\n144.00\t563.00\t0.00\t3.39182\t1\t2\t2\t2\t2\n144.00\t748.00\t0.00\t3.313458\t2\t2\t1\t1\t2\n219.00\t809.00\t0.00\t3.092859\t2\t2\t2\t2\t2\n198.00\t585.00\t1.00\t3.200304\t2\t2\t2\t1\t2\n192.00\t470.00\t1.00\t3.185939\t2\t2\t1\t1\t2\n150.00\t697.00\t1.00\t3.273364\t1\t1\t2\t2\t2\n117.00\t769.00\t1.00\t3.201526\t2\t2\t2\t1\t2\n102.00\t788.00\t1.00\t3.187179\t2\t2\t2\t2\t2\n66.00\t571.00\t0.00\t3.121483\t2\t2\t1\t1\t2\n197.00\t709.00\t0.00\t3.084201\t2\t2\t2\t1\t2\n153.00\t667.00\t0.00\t3.120601\t2\t1\t2\t2\t2\n264.00\t663.00\t0.00\t3.599775\t2\t2\t2\t1\t2\n210.00\t675.00\t1.00\t3.333275\t2\t2\t2\t1\t2\n204.00\t636.00\t1.00\t2.965273\t1\t1\t2\t2\t2\n282.00\t813.00\t1.00\t3.489513\t1\t2\t2\t1\t2\n180.00\t750.00\t1.00\t3.119718\t2\t1\t2\t2\t2\n192.00\t574.00\t1.00\t3.375538\t2\t2\t1\t2\t2\n258.00\t659.00\t1.00\t3.113515\t2\t1\t2\t1\t2\n207.00\t646.00\t0.00\t3.023834\t2\t1\t2\t2\t2\n153.00\t814.00\t0.00\t3.11396\t2\t1\t2\t2\t2\n249.00\t558.00\t0.00\t2.981126\t2\t2\t2\t1\t2\n175.00\t572.00\t0.00\t3.330059\t2\t2\t2\t2\t2\n223.00\t640.00\t0.00\t3.136798\t1\t2\t2\t1\t2\n150.00\t560.00\t1.00\t3.356549\t2\t2\t2\t1\t2\n204.00\t659.00\t0.00\t3.04357\t2\t2\t2\t1\t2\n191.00\t614.00\t1.00\t3.097837\t1\t1\t2\t2\t2\n213.00\t713.00\t1.00\t3.117507\t2\t2\t1\t1\t2\n128.00\t620.00\t1.00\t3.044999\t2\t1\t2\t1\t2\n249.00\t692.00\t1.00\t3.564449\t2\t2\t2\t2\t2\n114.00\t615.00\t1.00\t3.357942\t2\t2\t2\t1\t2\n194.00\t712.00\t1.00\t3.093766\t2\t2\t2\t2\t2\n173.00\t640.00\t1.00\t3.095578\t1\t1\t2\t2\t2\n168.00\t693.00\t1.00\t3.304686\t1\t2\t2\t2\t2\n96.00\t793.00\t1.00\t2.910719\t2\t1\t2\t2\t2\n255.00\t610.00\t1.00\t3.40253\t2\t2\t2\t1\t2\n177.00\t585.00\t1.00\t3.54472\t2\t2\t2\t2\t2\n282.00\t701.00\t1.00\t3.259634\t2\t1\t2\t1\t2\n177.00\t494.00\t0.00\t2.986187\t1\t2\t2\t2\t2\n228.00\t809.00\t0.00\t3.242983\t1\t2\t1\t1\t2\n258.00\t692.00\t1.00\t2.941276\t1\t2\t2\t1\t2\n186.00\t726.00\t0.00\t3.204777\t1\t1\t2\t2\t2\n237.00\t632.00\t0.00\t3.179303\t2\t2\t2\t1\t2\n168.00\t661.00\t1.00\t3.323956\t2\t2\t2\t1\t2\n120.00\t803.00\t0.00\t3.173041\t2\t1\t2\t2\t2\n278.00\t539.00\t1.00\t3.155297\t2\t2\t2\t1\t2\n186.00\t996.00\t0.00\t3.283539\t2\t1\t2\t2\t2\n177.00\t669.00\t0.00\t3.121483\t1\t1\t2\t2\t2\n168.00\t639.00\t1.00\t3.415429\t2\t2\t2\t2\t2\n195.00\t742.00\t0.00\t3.068053\t1\t1\t2\t2\t2\n150.00\t721.00\t1.00\t3.469168\t2\t1\t2\t2\t2\n330.00\t646.00\t0.00\t3.209633\t1\t2\t1\t1\t2\n105.00\t702.00\t0.00\t3.357594\t2\t2\t2\t2\t2\n102.00\t579.00\t1.00\t3.054001\t2\t2\t2\t1\t2\n160.00\t619.00\t1.00\t3.07084\t1\t1\t2\t2\t2\n231.00\t555.00\t0.00\t3.135059\t2\t1\t2\t1\t2\n210.00\t655.00\t0.00\t3.203153\t1\t1\t2\t2\t2\n60.00\t631.00\t0.00\t3.074543\t2\t1\t2\t2\t2\n99.00\t499.00\t1.00\t2.79545\t2\t2\t2\t1\t2\n162.00\t643.00\t1.00\t3.268047\t2\t2\t2\t1\t2\n129.00\t799.00\t0.00\t3.099642\t2\t1\t2\t2\t2\n230.00\t616.00\t1.00\t3.275256\t2\t2\t2\t1\t2\n180.00\t633.00\t1.00\t2.960623\t2\t1\t1\t2\t2\n243.00\t460.00\t0.00\t3.189653\t2\t2\t2\t1\t2\n219.00\t530.00\t0.00\t2.876949\t2\t2\t1\t1\t2\n171.00\t676.00\t0.00\t2.828496\t2\t2\t1\t1\t2\n114.00\t794.00\t1.00\t3.441059\t1\t1\t2\t2\t2\n225.00\t665.00\t1.00\t3.294354\t1\t2\t2\t1\t2\n261.00\t752.00\t1.00\t3.190476\t2\t2\t2\t1\t2\n246.00\t532.00\t1.00\t3.192121\t2\t2\t1\t1\t2\n227.00\t589.00\t0.00\t3.24688\t2\t2\t2\t1\t2\n102.00\t558.00\t1.00\t3.199489\t2\t1\t2\t2\t2\n108.00\t542.00\t0.00\t2.930127\t2\t1\t1\t2\t2\n177.00\t816.00\t1.00\t3.465111\t2\t1\t2\t2\t2\n128.00\t444.00\t0.00\t2.894253\t2\t2\t2\t1\t2\n162.00\t373.00\t1.00\t3.203153\t2\t1\t2\t2\t2\n123.00\t768.00\t0.00\t3.188004\t2\t1\t1\t1\t2\n150.00\t595.00\t1.00\t3.367296\t2\t1\t2\t2\t2\n198.00\t751.00\t1.00\t3.232384\t2\t2\t2\t2\t2\n264.00\t611.00\t0.00\t3.070376\t2\t2\t1\t1\t2\n96.00\t650.00\t0.00\t3.15955\t2\t2\t2\t2\t2\n249.00\t612.00\t0.00\t3.175968\t2\t1\t1\t1\t2\n279.00\t490.00\t1.00\t3.280535\t2\t2\t2\t1\t2\n320.00\t748.00\t0.00\t3.182627\t2\t2\t1\t1\t2\n135.00\t724.00\t1.00\t3.601413\t2\t1\t2\t2\t2\n133.00\t568.00\t1.00\t3.222868\t1\t2\t2\t2\t2\n222.00\t626.00\t0.00\t3.330059\t2\t2\t2\t1\t2\n150.00\t793.00\t0.00\t3.218876\t2\t2\t1\t2\t2\n219.00\t649.00\t1.00\t3.288775\t1\t1\t2\t2\t2\n231.00\t463.00\t0.00\t3.246102\t2\t1\t1\t1\t2\n254.00\t534.00\t1.00\t3.21165\t2\t1\t2\t1\t2\n225.00\t900.00\t1.00\t3.058707\t2\t2\t2\t2\t2\n284.00\t646.00\t0.00\t3.159975\t2\t2\t2\t1\t2\n141.00\t377.00\t0.00\t2.994732\t1\t1\t2\t2\t2\n138.00\t806.00\t0.00\t3.158276\t2\t1\t2\t2\t2\n51.00\t647.00\t1.00\t3.354455\t2\t2\t2\t1\t2\n147.00\t683.00\t1.00\t3.652734\t2\t2\t2\t2\t2\n222.00\t609.00\t0.00\t3.067122\t2\t1\t2\t1\t2\n99.00\t637.00\t1.00\t3.467297\t2\t1\t2\t2\t2\n153.00\t526.00\t1.00\t3.249211\t2\t2\t2\t1\t2\n162.00\t672.00\t1.00\t3.279406\t2\t2\t2\t2\t2\n236.00\t482.00\t1.00\t3.206398\t2\t2\t2\t1\t2\n69.00\t729.00\t1.00\t3.196221\t2\t2\t2\t2\t2\n177.00\t795.00\t1.00\t3.390136\t2\t2\t2\t2\t2\n306.00\t645.00\t1.00\t3.260402\t2\t2\t2\t1\t2\n195.00\t559.00\t1.00\t3.108168\t2\t2\t1\t1\t2\n165.00\t690.00\t0.00\t3.163786\t2\t1\t2\t1\t2\n159.00\t601.00\t1.00\t3.329343\t1\t2\t2\t2\t2\n279.00\t455.00\t1.00\t3.521052\t2\t2\t1\t1\t2\n138.00\t815.00\t0.00\t3.117065\t2\t1\t2\t2\t2\n174.00\t545.00\t0.00\t3.239071\t1\t1\t2\t2\t2\n186.00\t813.00\t0.00\t3.011113\t1\t1\t2\t2\t2\n78.00\t462.00\t1.00\t3.105035\t2\t1\t2\t2\t2\n227.00\t765.00\t1.00\t3.146735\t2\t2\t2\t1\t2\n156.00\t704.00\t1.00\t3.048325\t2\t1\t2\t2\t2\n234.00\t505.00\t0.00\t3.064792\t2\t2\t2\t1\t2\n186.00\t640.00\t1.00\t3.148453\t2\t2\t1\t1\t2\n72.00\t578.00\t1.00\t3.030134\t2\t2\t2\t2\t2\n141.00\t676.00\t1.00\t3.170945\t2\t2\t2\t2\t2\n165.00\t503.00\t0.00\t3.060115\t2\t1\t2\t2\t2\n270.00\t545.00\t1.00\t3.146735\t2\t2\t1\t1\t2\n200.00\t564.00\t0.00\t3.218876\t2\t2\t1\t1\t2\n210.00\t630.00\t0.00\t3.250762\t2\t2\t2\t2\t2\n192.00\t628.00\t1.00\t3.564449\t1\t1\t2\t2\t2\n189.00\t872.00\t0.00\t3.131573\t1\t2\t2\t2\t2\n75.00\t476.00\t1.00\t3.237109\t2\t2\t2\t1\t2\n159.00\t862.00\t1.00\t3.253857\t1\t2\t2\t2\t2\n156.00\t605.00\t1.00\t3.466985\t1\t1\t2\t2\t2\n186.00\t596.00\t0.00\t3.111736\t2\t1\t2\t1\t2\n297.00\t643.00\t1.00\t3.100092\t1\t2\t2\t1\t2\n243.00\t675.00\t1.00\t3.085116\t1\t2\t1\t1\t2\n138.00\t1050.00\t0.00\t3.278276\t2\t2\t2\t2\t2\n180.00\t741.00\t0.00\t3.318178\t2\t1\t2\t1\t2\n168.00\t818.00\t1.00\t3.115735\t1\t1\t2\t2\t2\n117.00\t754.00\t0.00\t3.140698\t2\t2\t2\t1\t2\n153.00\t621.00\t0.00\t3.042616\t1\t1\t2\t2\t2\n252.00\t493.00\t1.00\t3.504656\t2\t2\t2\t1\t2\n147.00\t630.00\t1.00\t3.249599\t2\t2\t2\t2\t2\n240.00\t649.00\t0.00\t3.498929\t2\t2\t1\t1\t2\n156.00\t782.00\t0.00\t3.310908\t2\t2\t2\t1\t2\n147.00\t582.00\t0.00\t2.959587\t2\t1\t2\t2\t2\n180.00\t708.00\t0.00\t3.169686\t2\t2\t2\t1\t2\n192.00\t665.00\t0.00\t3.489513\t2\t2\t2\t2\t2\n207.00\t801.00\t0.00\t3.300271\t2\t2\t2\t1\t2\n144.00\t507.00\t1.00\t2.788708\t2\t2\t2\t1\t2\n171.00\t792.00\t1.00\t3.503453\t2\t2\t2\t2\t2\n174.00\t738.00\t1.00\t3.23593\t2\t2\t2\t1\t2\n183.00\t930.00\t0.00\t3.321071\t2\t2\t2\t2\t2\n240.00\t613.00\t0.00\t3.322515\t2\t1\t2\t1\t2\n174.00\t639.00\t1.00\t3.24688\t1\t2\t2\t2\t2\n201.00\t690.00\t1.00\t3.062924\t2\t2\t2\t1\t2\n105.00\t1077.00\t0.00\t3.346389\t2\t1\t2\t2\t2\n207.00\t513.00\t0.00\t3.178054\t2\t2\t2\t1\t2\n210.00\t644.00\t0.00\t3.02432\t2\t1\t2\t2\t2\n81.00\t560.00\t1.00\t3.403195\t2\t1\t2\t2\t2\n165.00\t814.00\t1.00\t3.129389\t1\t1\t1\t2\t2\n183.00\t596.00\t1.00\t3.108614\t2\t2\t2\t1\t2\n225.00\t572.00\t0.00\t3.201933\t2\t2\t2\t1\t2\n197.00\t665.00\t1.00\t3.599502\t1\t1\t2\t2\t2\n162.00\t691.00\t0.00\t3.24688\t2\t2\t2\t1\t2\n162.00\t644.00\t1.00\t3.195402\t2\t2\t2\t1\t2\n210.00\t723.00\t0.00\t3.173041\t1\t2\t2\t2\t2\n231.00\t639.00\t0.00\t3.158276\t2\t2\t2\t1\t2\n180.00\t954.00\t0.00\t3.128075\t1\t1\t2\t2\t2\n186.00\t721.00\t1.00\t3.181797\t1\t2\t1\t2\t2\n165.00\t729.00\t1.00\t3.227637\t1\t1\t1\t2\t2\n96.00\t765.00\t0.00\t3.34498\t2\t2\t1\t1\t2\n138.00\t469.00\t0.00\t3.170945\t2\t2\t2\t1\t2\n120.00\t688.00\t1.00\t3.526949\t1\t2\t2\t2\t2\n243.00\t516.00\t0.00\t3.145445\t2\t2\t2\t1\t2\n258.00\t689.00\t1.00\t3.244544\t2\t2\t1\t1\t2\n243.00\t740.00\t1.00\t3.198265\t2\t2\t1\t1\t2\n129.00\t609.00\t1.00\t3.073156\t2\t2\t2\t1\t2\n162.00\t608.00\t0.00\t3.257712\t1\t2\t2\t1\t2\n102.00\t663.00\t1.00\t3.416086\t2\t2\t2\t1\t2\n198.00\t806.00\t1.00\t3.173041\t2\t2\t2\t1\t2\n273.00\t690.00\t0.00\t3.194173\t1\t2\t2\t1\t2\n183.00\t625.00\t1.00\t3.585184\t2\t2\t2\t1\t2\n207.00\t716.00\t0.00\t3.310908\t2\t2\t2\t1\t2\n174.00\t501.00\t0.00\t3.023834\t2\t2\t2\t1\t2\n282.00\t589.00\t0.00\t3.125444\t2\t2\t2\t1\t2\n237.00\t557.00\t0.00\t3.121483\t2\t2\t2\t1\t2\n186.00\t625.00\t0.00\t3.190888\t2\t2\t2\t1\t2\n84.00\t466.00\t0.00\t3.160823\t2\t1\t2\t1\t2\n201.00\t623.00\t1.00\t3.121483\t2\t1\t2\t1\t2\n201.00\t657.00\t1.00\t3.404525\t2\t1\t2\t1\t2\n87.00\t609.00\t0.00\t3.088767\t2\t2\t2\t1\t2\n216.00\t631.00\t0.00\t3.244544\t2\t1\t2\t1\t2\n174.00\t542.00\t0.00\t3.112181\t2\t2\t2\t1\t2\n224.00\t625.00\t1.00\t3.2312\t2\t2\t2\t1\t2\n225.00\t709.00\t1.00\t3.369707\t2\t2\t2\t1\t2\n216.00\t471.00\t1.00\t3.08603\t1\t2\t2\t1\t2\n264.00\t566.00\t0.00\t3.180966\t2\t2\t2\t1\t2\n165.00\t648.00\t1.00\t3.21326\t2\t1\t2\t1\t2\n87.00\t672.00\t1.00\t3.199081\t2\t2\t2\t1\t2\n270.00\t723.00\t0.00\t3.109507\t1\t1\t2\t1\t2\n216.00\t687.00\t1.00\t3.301745\t2\t2\t1\t1\t2\n285.00\t462.00\t1.00\t3.251537\t1\t2\t2\t1\t2\n138.00\t794.00\t1.00\t3.32071\t2\t1\t2\t2\t2\n92.00\t678.00\t0.00\t3.092859\t2\t2\t1\t1\t2\n237.00\t510.00\t0.00\t3.507358\t2\t1\t1\t1\t2\n213.00\t681.00\t1.00\t3.381335\t2\t2\t2\t1\t2\n192.00\t767.00\t1.00\t3.335058\t1\t1\t2\t2\t2\n294.00\t524.00\t0.00\t3.411808\t1\t1\t2\t1\t2\n177.00\t619.00\t0.00\t3.264614\t1\t2\t2\t2\t2\n210.00\t459.00\t0.00\t3.606313\t2\t2\t1\t1\t2\n378.00\t769.00\t0.00\t3.209229\t2\t1\t2\t1\t2\n240.00\t452.00\t0.00\t3.243373\t1\t1\t2\t1\t2\n159.00\t779.00\t1.00\t3.266904\t2\t2\t2\t2\t2\n186.00\t686.00\t1.00\t3.068053\t1\t1\t2\t2\t2\n69.00\t658.00\t1.00\t3.137666\t2\t2\t2\t1\t2\n135.00\t983.00\t0.00\t3.06152\t1\t2\t2\t2\t2\n210.00\t536.00\t1.00\t3.345685\t2\t2\t2\t1\t2\n228.00\t697.00\t1.00\t3.248823\t1\t2\t2\t2\t2\n190.00\t750.00\t0.00\t3.322515\t2\t2\t2\t1\t2\n167.00\t584.00\t1.00\t3.262318\t2\t1\t2\t2\t2\n218.00\t544.00\t0.00\t3.275256\t2\t2\t2\t1\t2\n210.00\t571.00\t0.00\t2.95178\t1\t1\t2\t2\t2\n186.00\t722.00\t0.00\t3.538347\t2\t2\t2\t1\t2\n264.00\t667.00\t0.00\t3.29101\t2\t2\t1\t1\t2\n150.00\t683.00\t0.00\t2.968875\t1\t1\t2\t2\t2\n219.00\t531.00\t1.00\t3.209633\t2\t1\t2\t1\t2\n213.00\t578.00\t1.00\t3.508256\t2\t2\t2\t1\t2\n174.00\t665.00\t1.00\t3.240246\t1\t2\t2\t2\t2\n174.00\t513.00\t0.00\t3.070376\t2\t2\t2\t1\t2\n204.00\t607.00\t1.00\t3.179303\t2\t2\t1\t2\t2\n201.00\t713.00\t1.00\t3.623274\t2\t2\t2\t2\t2\n156.00\t619.00\t1.00\t3.346037\t2\t2\t2\t1\t2\n129.00\t849.00\t1.00\t3.378952\t2\t1\t2\t2\t2\n285.00\t596.00\t0.00\t3.145875\t1\t1\t1\t1\t2\n252.00\t1286.00\t0.00\t3.15487\t2\t2\t2\t1\t2\n129.00\t730.00\t0.00\t3.035914\t2\t1\t2\t2\t2\n129.00\t949.00\t1.00\t3.22843\t2\t2\t2\t2\t2\n180.00\t701.00\t0.00\t3.273364\t2\t1\t2\t2\t2\n177.00\t539.00\t1.00\t3.158276\t2\t2\t2\t1\t2\n195.00\t641.00\t1.00\t2.93492\t2\t1\t2\t2\t2\n255.00\t724.00\t0.00\t3.201933\t2\t2\t2\t1\t2\n153.00\t512.00\t0.00\t3.441379\t2\t2\t2\t2\t2\n285.00\t646.00\t0.00\t3.288775\t2\t2\t2\t1\t2\n237.00\t512.00\t1.00\t3.014063\t2\t1\t1\t1\t2\n168.00\t737.00\t1.00\t3.185112\t2\t1\t2\t2\t2\n231.00\t479.00\t0.00\t3.058707\t2\t1\t2\t1\t2\n243.00\t458.00\t0.00\t3.356549\t2\t2\t2\t1\t2\n198.00\t876.00\t0.00\t3.086943\t2\t1\t2\t2\t2\n171.00\t828.00\t1.00\t3.415429\t1\t2\t2\t2\t2\n267.00\t508.00\t0.00\t3.054944\t2\t2\t2\t1\t2\n114.00\t576.00\t1.00\t3.217675\t2\t1\t2\t2\t2\n174.00\t745.00\t0.00\t3.105483\t2\t2\t2\t1\t2\n189.00\t635.00\t0.00\t3.194173\t1\t1\t2\t2\t2\n189.00\t621.00\t0.00\t3.25347\t1\t2\t2\t2\t2\n90.00\t378.00\t0.00\t2.850707\t2\t2\t2\t1\t2\n210.00\t648.00\t1.00\t3.275256\t2\t2\t2\t1\t2\n204.00\t658.00\t1.00\t3.432696\t2\t2\t2\t1\t2\n153.00\t686.00\t1.00\t3.466673\t2\t2\t2\t2\t2\n267.00\t589.00\t1.00\t3.13201\t2\t2\t2\t1\t2\n123.00\t628.00\t1.00\t3.21326\t2\t1\t2\t1\t2\n83.00\t577.00\t0.00\t3.221273\t2\t2\t2\t1\t2\n222.00\t731.00\t0.00\t3.555348\t1\t1\t2\t2\t2\n189.00\t499.00\t0.00\t3.221273\t2\t1\t1\t1\t2\n102.00\t344.00\t0.00\t3.258097\t2\t2\t2\t1\t2\n156.00\t772.00\t1.00\t3.358986\t2\t1\t2\t2\t2\n186.00\t618.00\t0.00\t3.333275\t2\t2\t2\t1\t2\n105.00\t428.00\t1.00\t2.99373\t2\t1\t2\t1\t2\n132.00\t675.00\t0.00\t3.609836\t2\t1\t2\t2\t2\n183.00\t690.00\t1.00\t3.270709\t2\t1\t2\t1\t2\n258.00\t454.00\t1.00\t3.186766\t2\t2\t2\t1\t2\n141.00\t770.00\t0.00\t3.322515\t1\t1\t2\t2\t2\n255.00\t463.00\t0.00\t3.500439\t2\t2\t2\t1\t2\n165.00\t748.00\t1.00\t3.354106\t2\t1\t1\t2\t2\n234.00\t549.00\t1.00\t3.501646\t1\t1\t2\t1\t2\n135.00\t538.00\t1.00\t3.380654\t1\t1\t2\t2\t2\n249.00\t462.00\t1.00\t3.299534\t2\t2\t2\t1\t2\n177.00\t605.00\t1.00\t3.554205\t2\t2\t2\t2\t2\n174.00\t519.00\t0.00\t2.851284\t2\t1\t2\t1\t2\n183.00\t707.00\t0.00\t3.078233\t2\t2\t2\t2\t2\n204.00\t556.00\t1.00\t3.278276\t2\t2\t2\t1\t2\n153.00\t629.00\t0.00\t3.196221\t2\t2\t2\t1\t2\n165.00\t577.00\t0.00\t3.133754\t1\t2\t2\t2\t2\n225.00\t654.00\t0.00\t3.271468\t2\t2\t1\t1\t2\n231.00\t684.00\t1.00\t3.339322\t2\t1\t2\t2\t2\n210.00\t717.00\t0.00\t3.244544\t2\t2\t2\t1\t2\n114.00\t662.00\t1.00\t3.067122\t2\t1\t2\t2\t2\n225.00\t585.00\t0.00\t3.019449\t2\t2\t2\t1\t2\n168.00\t522.00\t1.00\t3.061988\t2\t2\t2\t2\t2\n222.00\t652.00\t0.00\t3.066191\t2\t2\t2\t1\t2\n195.00\t776.00\t0.00\t2.969388\t2\t1\t2\t2\t2\n234.00\t521.00\t0.00\t3.356549\t2\t2\t1\t1\t2\n105.00\t488.00\t1.00\t3.335058\t1\t2\t2\t2\t2\n180.00\t590.00\t0.00\t3.29101\t2\t2\t1\t1\t2\n180.00\t615.00\t0.00\t3.048325\t1\t1\t2\t2\t2\n210.00\t654.00\t1.00\t3.392829\t2\t2\t2\t1\t2\n264.00\t661.00\t1.00\t3.269569\t2\t2\t2\t1\t2\n183.00\t841.00\t1.00\t3.36833\t1\t2\t2\t2\t2\n156.00\t703.00\t0.00\t3.279783\t2\t2\t2\t1\t2\n180.00\t915.00\t1.00\t3.308351\t2\t2\t2\t2\t2\n168.00\t843.00\t0.00\t3.285412\t1\t1\t1\t2\t2\n195.00\t832.00\t0.00\t3.287282\t2\t2\t2\t1\t2\n180.00\t1020.00\t1.00\t3.442019\t1\t2\t2\t2\t2\n225.00\t513.00\t0.00\t3.322515\t1\t1\t2\t1\t2\n180.00\t638.00\t1.00\t2.922624\t1\t1\t2\t2\t2\n216.00\t964.00\t1.00\t3.426215\t2\t1\t2\t1\t2\n234.00\t632.00\t0.00\t3.12016\t1\t1\t2\t1\t2\n192.00\t739.00\t1.00\t3.275256\t1\t1\t2\t2\t2\n54.00\t702.00\t0.00\t2.811208\t2\t1\t2\t2\t2\n60.00\t757.00\t0.00\t3.226844\t2\t2\t2\t2\t2\n246.00\t676.00\t0.00\t3.169686\t1\t2\t2\t1\t2\n171.00\t860.00\t1.00\t3.389125\t2\t1\t2\t2\t2\n270.00\t452.00\t0.00\t3.180551\t2\t2\t2\t1\t2\n183.00\t695.00\t0.00\t3.125444\t2\t1\t2\t2\t2\n195.00\t837.00\t1.00\t3.239854\t1\t2\t1\t2\t2\n93.00\t802.00\t0.00\t3.224858\t2\t2\t2\t2\t2\n141.00\t561.00\t1.00\t3.17346\t2\t2\t2\t1\t2\n183.00\t1009.00\t1.00\t3.310908\t2\t1\t2\t2\t2\n243.00\t619.00\t0.00\t3.166319\t2\t2\t2\t1\t2\n96.00\t586.00\t1.00\t3.02965\t1\t2\t2\t2\t2\n96.00\t739.00\t0.00\t3.070376\t2\t2\t2\t1\t2\n45.00\t725.00\t0.00\t2.963725\t2\t1\t2\t2\t2\n117.00\t641.00\t0.00\t2.998728\t2\t1\t2\t2\t2\n234.00\t686.00\t1.00\t3.131573\t2\t2\t2\t1\t2\n159.00\t567.00\t0.00\t3.183456\t2\t1\t2\t1\t2\n126.00\t691.00\t1.00\t3.543854\t1\t1\t2\t2\t2\n231.00\t723.00\t0.00\t3.294354\t2\t2\t2\t1\t2\n192.00\t721.00\t1.00\t3.093766\t1\t1\t2\t2\t2\n192.00\t640.00\t0.00\t3.351657\t1\t2\t2\t2\t2\n257.00\t653.00\t1.00\t3.309813\t2\t2\t1\t1\t2\n60.00\t638.00\t0.00\t3.322515\t1\t1\t2\t2\t2\n186.00\t880.00\t1.00\t3.356549\t2\t2\t2\t1\t2\n129.00\t694.00\t0.00\t3.125444\t2\t2\t2\t2\t2\n219.00\t612.00\t0.00\t3.237109\t2\t2\t2\t1\t2\n186.00\t721.00\t0.00\t2.979603\t2\t2\t2\t2\t2\n240.00\t595.00\t0.00\t3.244154\t2\t1\t2\t1\t2\n216.00\t670.00\t0.00\t2.91398\t2\t1\t2\t2\t2\n132.00\t564.00\t0.00\t3.234749\t2\t2\t1\t1\t2\n132.00\t693.00\t0.00\t3.188004\t1\t1\t2\t2\t2\n213.00\t590.00\t1.00\t3.215269\t2\t2\t2\t1\t2\n207.00\t514.00\t1.00\t3.355851\t1\t2\t2\t1\t2\n111.00\t640.00\t1.00\t3.073156\t2\t1\t2\t1\t2\n114.00\t644.00\t1.00\t3.127199\t1\t2\t2\t2\t2\n216.00\t613.00\t1.00\t3.346741\t2\t2\t2\t1\t2\n177.00\t1166.00\t1.00\t3.12016\t2\t1\t2\t1\t2\n138.00\t630.00\t0.00\t3.179303\t2\t2\t2\t2\t2\n186.00\t736.00\t0.00\t3.289893\t2\t1\t2\t2\t2\n267.00\t473.00\t1.00\t2.998229\t2\t2\t2\t1\t2\n72.00\t685.00\t0.00\t2.961658\t2\t1\t2\t2\t2\n69.00\t833.00\t1.00\t3.331847\t2\t1\t2\t2\t2\n99.00\t612.00\t0.00\t3.242202\t1\t2\t2\t1\t2\n174.00\t667.00\t1.00\t3.165897\t1\t1\t2\t1\t2\n198.00\t732.00\t1.00\t3.342155\t1\t2\t2\t2\t2\n96.00\t551.00\t0.00\t3.044999\t2\t2\t2\t1\t2\n201.00\t685.00\t1.00\t3.15487\t2\t1\t2\t2\t2\n150.00\t533.00\t0.00\t2.925846\t2\t2\t2\t1\t2\n159.00\t705.00\t1.00\t3.092405\t2\t1\t2\t2\t2\n198.00\t612.00\t1.00\t3.415758\t2\t2\t2\t1\t2\n195.00\t888.00\t0.00\t3.11795\t2\t2\t2\t1\t2\n126.00\t678.00\t1.00\t3.24142\t1\t1\t2\t2\t2\n171.00\t510.00\t0.00\t3.23593\t2\t2\t2\t1\t2\n111.00\t767.00\t1.00\t3.206398\t2\t2\t2\t2\t2\n96.00\t603.00\t1.00\t3.442339\t2\t2\t2\t1\t2\n132.00\t472.00\t0.00\t3.241029\t2\t1\t2\t2\t2\n159.00\t644.00\t1.00\t3.375538\t2\t1\t2\t2\t2\n111.00\t884.00\t0.00\t3.035434\t1\t1\t2\t2\t2\n138.00\t708.00\t0.00\t3.27639\t2\t1\t2\t2\t2\n138.00\t592.00\t0.00\t2.879198\t2\t1\t2\t2\t2\n309.00\t653.00\t1.00\t3.36557\t2\t2\t2\t1\t2\n231.00\t716.00\t1.00\t3.346741\t2\t2\t2\t1\t2\n114.00\t862.00\t0.00\t3.301009\t2\t2\t2\t2\t2\n102.00\t617.00\t1.00\t3.400197\t2\t1\t2\t2\t2\n147.00\t592.00\t0.00\t3.074081\t2\t2\t2\t1\t2\n162.00\t527.00\t0.00\t3.591542\t2\t2\t2\t2\t2\n177.00\t810.00\t0.00\t3.048799\t1\t2\t1\t2\t2\n165.00\t523.00\t0.00\t3.005683\t2\t2\t2\t1\t2\n162.00\t614.00\t1.00\t3.492865\t1\t1\t2\t2\t2\n78.00\t954.00\t0.00\t3.603322\t1\t1\t2\t2\t2\n105.00\t479.00\t0.00\t3.246491\t2\t1\t2\t1\t2\n165.00\t716.00\t1.00\t3.168845\t2\t2\t2\t1\t2\n237.00\t594.00\t0.00\t3.309813\t2\t1\t2\t1\t2\n225.00\t607.00\t0.00\t3.109507\t1\t2\t2\t2\t2\n201.00\t696.00\t1.00\t3.270709\t2\t2\t2\t1\t2\n72.00\t734.00\t1.00\t3.011606\t1\t2\t2\t2\t2\n168.00\t534.00\t0.00\t3.170945\t2\t1\t2\t2\t2\n146.00\t818.00\t1.00\t3.070376\t2\t1\t2\t2\t2\n198.00\t545.00\t0.00\t3.007661\t2\t2\t2\t1\t2\n93.00\t726.00\t1.00\t2.913437\t2\t1\t2\t2\t2\n237.00\t552.00\t1.00\t3.182627\t2\t2\t2\t1\t2\n153.00\t589.00\t1.00\t3.299903\t1\t2\t2\t2\t2\n162.00\t476.00\t0.00\t3.299534\t2\t2\t2\t1\t2\n240.00\t787.00\t0.00\t3.083285\t2\t2\t2\t2\t2\n240.00\t472.00\t0.00\t3.357942\t2\t2\t2\t1\t2\n237.00\t743.00\t1.00\t3.114848\t2\t2\t2\t1\t2\n198.00\t433.00\t1.00\t3.072693\t2\t2\t2\t1\t2\n216.00\t914.00\t0.00\t3.361763\t1\t1\t2\t2\t2\n90.00\t526.00\t0.00\t2.998229\t2\t1\t2\t1\t2\n144.00\t743.00\t1.00\t3.670206\t1\t2\t2\t2\t2\n276.00\t717.00\t0.00\t3.203559\t2\t2\t1\t1\t2\n117.00\t644.00\t0.00\t3.208421\t2\t1\t2\t2\t2\n171.00\t795.00\t0.00\t3.034953\t2\t1\t2\t1\t2\n174.00\t489.00\t1.00\t3.210844\t2\t2\t2\t1\t2\n150.00\t505.00\t0.00\t3.073619\t2\t2\t2\t1\t2\n81.00\t766.00\t1.00\t3.292126\t1\t1\t2\t2\t2\n186.00\t744.00\t0.00\t3.323956\t2\t2\t2\t1\t2\n183.00\t884.00\t0.00\t3.282414\t2\t2\t2\t2\t2\n147.00\t782.00\t0.00\t3.243764\t1\t1\t2\t2\t2\n105.00\t631.00\t1.00\t3.21165\t2\t2\t2\t1\t2\n147.00\t689.00\t1.00\t3.318902\t2\t2\t2\t2\t2\n207.00\t729.00\t0.00\t3.227637\t2\t1\t2\t2\t2\n213.00\t610.00\t0.00\t2.984671\t2\t2\t2\t1\t2\n261.00\t547.00\t0.00\t3.278276\t1\t1\t2\t1\t2\n168.00\t526.00\t1.00\t3.47785\t1\t1\t2\t2\t2\n177.00\t560.00\t0.00\t3.117507\t2\t1\t1\t2\t2\n162.00\t475.00\t1.00\t3.089678\t2\t2\t2\t1\t2\n156.00\t647.00\t0.00\t3.097837\t2\t1\t2\t1\t2\n99.00\t660.00\t1.00\t3.092405\t2\t2\t2\t2\t2\n159.00\t593.00\t0.00\t3.222071\t1\t1\t2\t2\t2\n309.00\t630.00\t0.00\t3.022861\t1\t1\t2\t1\t2\n255.00\t458.00\t0.00\t3.157426\t2\t2\t2\t1\t2\n183.00\t857.00\t1.00\t3.441699\t1\t1\t2\t2\t2\n261.00\t545.00\t1.00\t3.240246\t2\t2\t2\t1\t2\n150.00\t882.00\t0.00\t3.165897\t2\t1\t2\t2\t2\n258.00\t607.00\t1.00\t3.254629\t1\t2\t2\t1\t2\n195.00\t552.00\t0.00\t3.357594\t1\t1\t2\t2\t2\n117.00\t677.00\t1.00\t3.383712\t2\t1\t2\t2\t2\n180.00\t601.00\t1.00\t3.125005\t2\t2\t1\t1\t2\n207.00\t675.00\t1.00\t3.557061\t2\t1\t2\t2\t2\n225.00\t668.00\t0.00\t3.369018\t2\t2\t2\t1\t2\n180.00\t930.00\t1.00\t3.493169\t1\t1\t2\t2\t2\n312.00\t635.00\t1.00\t3.15487\t2\t2\t2\t1\t2\n219.00\t613.00\t1.00\t3.17346\t1\t2\t1\t1\t2\n90.00\t467.00\t1.00\t2.986692\t1\t1\t1\t2\t2\n123.00\t747.00\t1.00\t3.201526\t2\t1\t2\t1\t2\n198.00\t807.00\t0.00\t3.193763\t2\t2\t2\t2\t2\n273.00\t777.00\t0.00\t3.046901\t2\t2\t2\t1\t2\n164.00\t804.00\t1.00\t3.134624\t2\t2\t2\t1\t2\n153.00\t726.00\t1.00\t3.641788\t2\t2\t2\t2\t2\n246.00\t647.00\t0.00\t3.121483\t2\t2\t2\t1\t2\n240.00\t836.00\t1.00\t3.256557\t2\t1\t2\t1\t2\n194.00\t707.00\t0.00\t3.279406\t1\t1\t2\t2\t2\n117.00\t572.00\t1.00\t3.531055\t2\t2\t2\t1\t2\n231.00\t542.00\t1.00\t3.451574\t1\t2\t2\t1\t2\n120.00\t782.00\t0.00\t3.089678\t2\t1\t2\t1\t2\n120.00\t864.00\t0.00\t2.892037\t2\t2\t2\t2\t2\n309.00\t739.00\t0.00\t3.131573\t2\t2\t2\t1\t2\n117.00\t638.00\t0.00\t3.288775\t2\t1\t2\t1\t2\n129.00\t565.00\t0.00\t3.135929\t2\t2\t2\t2\t2\n213.00\t520.00\t1.00\t3.485232\t2\t2\t2\t1\t2\n258.00\t739.00\t1.00\t3.246102\t2\t2\t2\t1\t2\n201.00\t707.00\t0.00\t3.197039\t2\t2\t2\t2\t2\n204.00\t572.00\t1.00\t3.404193\t1\t2\t2\t1\t2\n138.00\t528.00\t1.00\t3.423285\t2\t2\t1\t1\t2\n213.00\t780.00\t0.00\t3.343921\t1\t1\t2\t2\t2\n174.00\t626.00\t0.00\t2.999724\t2\t2\t2\t2\t2\n120.00\t832.00\t1.00\t3.684369\t1\t1\t2\t2\t2\n90.00\t837.00\t1.00\t3.425239\t2\t1\t2\t2\t2\n159.00\t847.00\t0.00\t3.292498\t2\t2\t2\t2\t2\n114.00\t752.00\t0.00\t3.092405\t1\t1\t2\t2\t2\n117.00\t754.00\t1.00\t3.363149\t1\t1\t2\t2\t2\n300.00\t775.00\t1.00\t3.244933\t2\t1\t1\t1\t1\n130.00\t620.00\t0.00\t3.379974\t1\t1\t2\t2\t1\n210.00\t595.00\t0.00\t3.116622\t2\t1\t1\t1\t1\n90.00\t879.00\t1.00\t3.074543\t1\t1\t2\t2\t1\n205.00\t724.00\t1.00\t3.239071\t2\t1\t1\t1\t1\n160.00\t956.00\t1.00\t3.137666\t1\t1\t2\t2\t1\n190.00\t853.00\t1.00\t3.075929\t2\t2\t2\t1\t1\n290.00\t827.00\t1.00\t3.279783\t2\t2\t1\t1\t1\n120.00\t646.00\t1.00\t3.345332\t2\t1\t2\t2\t1\n130.00\t879.00\t0.00\t3.273364\t2\t1\t2\t2\t1\n290.00\t698.00\t1.00\t3.262701\t2\t1\t1\t1\t1\n90.00\t595.00\t1.00\t3.055415\t2\t1\t2\t2\t1\n180.00\t905.00\t1.00\t3.331847\t2\t2\t2\t1\t1\n160.00\t905.00\t1.00\t3.399195\t2\t1\t2\t2\t1\n155.00\t672.00\t0.00\t3.129389\t2\t1\t1\t1\t1\n85.00\t750.00\t1.00\t3.070376\t2\t1\t2\t1\t1\n140.00\t724.00\t1.00\t3.141563\t1\t1\t2\t2\t1\n165.00\t672.00\t0.00\t3.136798\t2\t1\t2\t1\t1\n100.00\t801.00\t1.00\t2.999724\t2\t2\t1\t1\t1\n220.00\t595.00\t1.00\t3.310908\t2\t1\t2\t1\t1\n150.00\t982.00\t1.00\t2.993229\t2\t1\t2\t2\t1\n75.00\t775.00\t1.00\t3.268047\t2\t1\t2\t1\t1\n300.00\t724.00\t0.00\t3.181797\t2\t2\t1\t1\t1\n100.00\t931.00\t1.00\t3.490124\t2\t1\t2\t2\t1\n305.00\t801.00\t1.00\t3.240246\t2\t2\t2\t1\t1\n140.00\t853.00\t1.00\t3.192121\t1\t1\t2\t2\t1\n185.00\t775.00\t1.00\t3.475686\t2\t1\t2\t1\t1\n190.00\t853.00\t0.00\t3.376563\t1\t1\t2\t2\t1\n150.00\t775.00\t0.00\t3.149311\t2\t2\t2\t2\t1\n200.00\t775.00\t0.00\t3.212455\t2\t2\t1\t1\t1\n115.00\t698.00\t1.00\t3.304686\t1\t1\t1\t2\t1\n190.00\t982.00\t1.00\t3.161247\t2\t1\t2\t1\t1\n220.00\t775.00\t1.00\t3.538347\t2\t1\t2\t1\t1\n150.00\t879.00\t0.00\t3.137666\t1\t1\t2\t2\t1\n150.00\t775.00\t1.00\t3.301009\t2\t1\t2\t1\t1\n115.00\t672.00\t1.00\t3.289893\t1\t1\t2\t2\t1\n230.00\t956.00\t1.00\t3.312002\t2\t2\t2\t1\t1\n210.00\t672.00\t1.00\t3.101443\t1\t2\t1\t2\t1\n190.00\t595.00\t0.00\t3.283539\t2\t1\t2\t1\t1\n160.00\t827.00\t0.00\t3.042616\t2\t1\t2\t2\t1\n110.00\t724.00\t1.00\t3.566147\t1\t1\t2\t2\t1\n220.00\t543.00\t0.00\t2.891482\t2\t1\t1\t1\t1\n130.00\t956.00\t1.00\t3.383712\t1\t1\t2\t2\t1\n90.00\t750.00\t1.00\t3.162094\t2\t1\t1\t2\t1\n180.00\t620.00\t0.00\t3.140265\t2\t1\t2\t1\t1\n200.00\t646.00\t1.00\t3.505557\t1\t1\t2\t2\t1\n220.00\t569.00\t0.00\t3.186766\t2\t1\t2\t1\t1\n190.00\t853.00\t0.00\t3.150169\t2\t1\t2\t1\t1\n130.00\t1008.00\t0.00\t3.283539\t1\t1\t2\t2\t1\n165.00\t620.00\t0.00\t2.882564\t2\t1\t2\t1\t1\n250.00\t569.00\t0.00\t3.125005\t2\t1\t2\t1\t1\n120.00\t1163.00\t1.00\t3.109507\t1\t1\t2\t2\t1\n250.00\t698.00\t1.00\t3.509454\t2\t1\t1\t1\t1\n70.00\t1008.00\t1.00\t3.32071\t1\t1\t2\t2\t1\n160.00\t698.00\t0.00\t3.070376\t2\t1\t2\t1\t1\n120.00\t853.00\t0.00\t2.944439\t2\t1\t2\t1\t1\n85.00\t931.00\t1.00\t3.742894\t2\t1\t2\t2\t1\n90.00\t982.00\t0.00\t3.299903\t1\t1\t2\t2\t1\n120.00\t543.00\t0.00\t3.270709\t2\t1\t2\t1\t1\n190.00\t750.00\t1.00\t3.417071\t2\t2\t1\t1\t1\n230.00\t620.00\t0.00\t3.058707\t2\t2\t2\t1\t1\n70.00\t931.00\t1.00\t3.109507\t1\t1\t1\t2\t1\n210.00\t982.00\t1.00\t3.337903\t2\t1\t2\t2\t1\n200.00\t905.00\t1.00\t3.381335\t2\t2\t2\t1\t1\n165.00\t956.00\t0.00\t3.370394\t2\t1\t1\t2\t1\n200.00\t775.00\t1.00\t3.24688\t2\t1\t2\t1\t1\n120.00\t672.00\t0.00\t3.132882\t2\t1\t2\t2\t1\n140.00\t595.00\t1.00\t3.198265\t2\t1\t2\t1\t1\n140.00\t620.00\t0.00\t2.909084\t2\t1\t1\t2\t1\n180.00\t750.00\t1.00\t3.404525\t2\t1\t2\t1\t1\n160.00\t827.00\t1.00\t3.162094\t2\t1\t2\t2\t1\n325.00\t905.00\t1.00\t3.129389\t1\t2\t1\t1\t1\n250.00\t724.00\t1.00\t3.139833\t2\t2\t1\t1\t1\n150.00\t1267.00\t1.00\t3.25925\t1\t1\t2\t2\t1\n170.00\t620.00\t1.00\t3.379633\t2\t1\t2\t1\t1\n170.00\t905.00\t1.00\t3.273364\t2\t1\t2\t1\t1\n100.00\t595.00\t0.00\t2.956472\t2\t1\t2\t1\t1\n180.00\t1008.00\t1.00\t3.516013\t1\t1\t2\t2\t1\n180.00\t853.00\t1.00\t3.497113\t2\t1\t1\t1\t1\n160.00\t698.00\t1.00\t3.284664\t2\t1\t2\t1\t1\n190.00\t698.00\t0.00\t3.192121\t1\t1\t2\t2\t1\n115.00\t698.00\t1.00\t3.342862\t1\t1\t1\t2\t1\n165.00\t620.00\t1.00\t3.287282\t2\t1\t2\t1\t1\n110.00\t801.00\t0.00\t3.236323\t2\t1\t1\t2\t1\n200.00\t595.00\t0.00\t3.393165\t2\t2\t2\t1\t1\n90.00\t750.00\t1.00\t3.318178\t1\t1\t2\t2\t1\n215.00\t827.00\t1.00\t3.326833\t2\t2\t1\t1\t1\n180.00\t827.00\t1.00\t3.242202\t2\t1\t2\t2\t1\n125.00\t595.00\t1.00\t3.415429\t1\t1\t2\t2\t1\n120.00\t595.00\t1.00\t3.190476\t2\t1\t2\t1\t1\n120.00\t750.00\t1.00\t3.299903\t1\t1\t2\t2\t1\n60.00\t698.00\t0.00\t2.809403\t1\t1\t2\t2\t1\n210.00\t672.00\t1.00\t3.270709\t2\t2\t1\t1\t1\n370.00\t801.00\t0.00\t3.245712\t2\t2\t2\t1\t1\n65.00\t543.00\t1.00\t3.227637\t1\t1\t2\t2\t1\n230.00\t672.00\t1.00\t3.254243\t2\t2\t2\t1\t1\n170.00\t905.00\t0.00\t3.197039\t2\t2\t2\t2\t1\n170.00\t646.00\t1.00\t3.69883\t1\t1\t2\t2\t1\n240.00\t620.00\t1.00\t3.581016\t2\t2\t1\t1\t1\n160.00\t724.00\t1.00\t3.533687\t2\t1\t2\t2\t1\n290.00\t698.00\t0.00\t3.168424\t2\t1\t1\t1\t1\n110.00\t1060.00\t1.00\t3.326833\t2\t1\t2\t2\t1\n95.00\t853.00\t1.00\t3.083285\t1\t1\t2\t2\t1\n370.00\t827.00\t1.00\t3.140265\t1\t1\t2\t1\t1\n230.00\t775.00\t1.00\t3.184698\t2\t1\t1\t1\t1\n170.00\t646.00\t1.00\t3.425239\t1\t2\t2\t2\t1\n160.00\t672.00\t0.00\t3.100543\t2\t1\t2\t2\t1\n370.00\t620.00\t0.00\t3.170945\t2\t2\t1\t1\t1\n250.00\t724.00\t0.00\t3.170945\t2\t1\t1\t1\t1\n105.00\t853.00\t1.00\t3.519277\t2\t1\t2\t2\t1\n240.00\t620.00\t0.00\t3.193763\t2\t1\t2\t1\t1\n130.00\t1008.00\t0.00\t3.22843\t1\t1\t2\t2\t1\n200.00\t801.00\t0.00\t3.271468\t1\t1\t2\t2\t1\n130.00\t775.00\t1.00\t3.017004\t2\t1\t1\t1\t1\n135.00\t775.00\t1.00\t3.297687\t2\t1\t2\t1\t1\n90.00\t698.00\t1.00\t3.379633\t2\t1\t2\t1\t1\n80.00\t750.00\t1.00\t3.237894\t1\t1\t2\t2\t1\n230.00\t595.00\t1.00\t3.225255\t2\t1\t1\t1\t1\n150.00\t646.00\t1.00\t3.39081\t1\t1\t2\t2\t1\n155.00\t646.00\t0.00\t3.049747\t2\t2\t1\t1\t1\n100.00\t620.00\t1.00\t3.042616\t2\t1\t2\t2\t1\n180.00\t827.00\t1.00\t3.219276\t2\t1\t2\t1\t1\n180.00\t724.00\t1.00\t3.505557\t1\t2\t2\t2\t1\n210.00\t569.00\t1.00\t3.439135\t1\t2\t1\t1\t1\n270.00\t620.00\t0.00\t3.269569\t2\t1\t2\t1\t1\n180.00\t827.00\t0.00\t3.569251\t2\t1\t2\t2\t1\n190.00\t724.00\t1.00\t3.24688\t2\t1\t1\t1\t1\n135.00\t465.00\t0.00\t3.537475\t1\t1\t1\t1\t1\n225.00\t698.00\t1.00\t3.234355\t1\t1\t2\t2\t1\n135.00\t801.00\t0.00\t3.208421\t2\t2\t2\t1\t1\n85.00\t724.00\t1.00\t3.752089\t2\t1\t2\t2\t1\n150.00\t646.00\t1.00\t3.148882\t2\t1\t2\t1\t1\n130.00\t646.00\t1.00\t3.401864\t1\t1\t2\t2\t1\n180.00\t672.00\t1.00\t3.226844\t1\t1\t1\t2\t1\n200.00\t750.00\t0.00\t3.187179\t1\t1\t2\t2\t1\n210.00\t646.00\t1.00\t3.205993\t2\t1\t2\t1\t1\n160.00\t956.00\t1.00\t3.530763\t1\t1\t2\t2\t1\n160.00\t801.00\t1.00\t3.288775\t1\t1\t1\t1\t1\n90.00\t801.00\t0.00\t3.192121\t1\t1\t2\t2\t1\n260.00\t801.00\t1.00\t3.275256\t2\t2\t1\t1\t1\n200.00\t646.00\t0.00\t3.405189\t2\t1\t2\t1\t1\n190.00\t1344.00\t1.00\t3.344627\t2\t1\t2\t2\t1\n180.00\t750.00\t1.00\t3.219276\t1\t2\t2\t1\t1\n280.00\t646.00\t1.00\t3.208017\t2\t2\t1\t1\t1\n200.00\t698.00\t1.00\t3.299534\t2\t1\t1\t1\t1\n185.00\t956.00\t0.00\t3.210844\t2\t1\t1\t1\t1\n100.00\t672.00\t1.00\t3.343215\t1\t1\t2\t2\t1\n130.00\t801.00\t0.00\t3.187179\t2\t2\t2\t2\t1\n110.00\t569.00\t1.00\t3.068053\t1\t1\t2\t2\t1\n155.00\t724.00\t0.00\t3.016515\t2\t1\t2\t1\t1\n260.00\t569.00\t1.00\t3.414114\t1\t2\t2\t1\t1\n150.00\t801.00\t0.00\t3.157\t1\t1\t2\t2\t1\n180.00\t931.00\t1.00\t3.21326\t2\t2\t2\t1\t1\n190.00\t465.00\t0.00\t3.128513\t2\t2\t2\t1\t1\n280.00\t543.00\t1.00\t3.14974\t2\t2\t1\t1\t1\n210.00\t1318.00\t0.00\t3.315276\t2\t1\t2\t2\t1\n120.00\t646.00\t1.00\t3.117507\t2\t1\t1\t1\t1\n150.00\t931.00\t0.00\t2.959587\t2\t1\t2\t2\t1\n210.00\t543.00\t1.00\t3.137666\t2\t2\t1\t1\t1\n140.00\t724.00\t0.00\t3.300271\t2\t1\t2\t1\t1\n175.00\t698.00\t1.00\t3.1307\t1\t1\t2\t2\t1\n280.00\t646.00\t1.00\t3.391484\t2\t1\t1\t1\t1\n155.00\t775.00\t0.00\t3.333632\t1\t1\t2\t2\t1\n160.00\t801.00\t1.00\t3.428813\t2\t2\t2\t2\t1\n230.00\t724.00\t1.00\t3.150169\t2\t2\t1\t1\t1\n195.00\t750.00\t0.00\t3.242202\t1\t1\t2\t2\t1\n190.00\t724.00\t1.00\t3.244544\t2\t2\t1\t1\t1\n70.00\t879.00\t0.00\t3.16674\t1\t1\t2\t2\t1\n180.00\t724.00\t1.00\t3.219276\t2\t1\t2\t1\t1\n230.00\t595.00\t1.00\t3.329343\t2\t2\t2\t1\t1\n100.00\t724.00\t1.00\t3.215269\t2\t1\t2\t1\t1\n100.00\t750.00\t1.00\t3.105035\t2\t1\t2\t2\t1\n170.00\t724.00\t1.00\t3.128075\t1\t1\t2\t2\t1\n190.00\t646.00\t0.00\t3.004196\t2\t2\t2\t1\t1\n80.00\t698.00\t1.00\t3.250762\t1\t1\t2\t2\t1\n220.00\t724.00\t1.00\t3.539509\t2\t1\t1\t2\t1\n140.00\t620.00\t0.00\t3.364188\t2\t2\t1\t1\t1\n130.00\t879.00\t1.00\t3.449035\t1\t1\t1\t2\t1\n130.00\t905.00\t0.00\t3.434632\t2\t1\t2\t1\t1\n130.00\t827.00\t0.00\t2.948116\t2\t2\t2\t2\t1\n155.00\t698.00\t0.00\t3.220475\t2\t1\t2\t1\t1\n70.00\t569.00\t1.00\t3.205993\t2\t1\t1\t1\t1\n130.00\t698.00\t1.00\t3.183456\t2\t1\t2\t1\t1\n215.00\t698.00\t1.00\t2.862772\t2\t1\t2\t1\t1\n120.00\t827.00\t0.00\t2.761275\t1\t1\t2\t2\t1\n170.00\t672.00\t0.00\t3.222868\t2\t1\t2\t1\t1\n160.00\t775.00\t0.00\t3.055415\t1\t1\t2\t2\t1\n150.00\t827.00\t1.00\t3.121483\t2\t1\t1\t2\t1\n105.00\t672.00\t1.00\t3.000222\t2\t1\t2\t1\t1\n50.00\t827.00\t0.00\t3.120601\t2\t1\t2\t2\t1\n80.00\t646.00\t0.00\t3.135929\t2\t1\t2\t2\t1\n140.00\t698.00\t0.00\t3.192121\t2\t1\t2\t1\t1\n75.00\t620.00\t1.00\t3.332562\t1\t1\t2\t2\t1\n165.00\t517.00\t1.00\t3.44967\t2\t1\t2\t1\t1\n160.00\t879.00\t0.00\t3.401197\t1\t1\t2\t2\t1\n110.00\t569.00\t1.00\t3.365916\t2\t1\t2\t2\t1\n170.00\t1060.00\t1.00\t3.416743\t2\t1\t2\t1\t1\n240.00\t853.00\t0.00\t3.346741\t2\t1\t1\t1\t1\n135.00\t905.00\t1.00\t2.805782\t2\t1\t2\t2\t1\n220.00\t646.00\t0.00\t3.165897\t2\t1\t1\t1\t1\n220.00\t698.00\t0.00\t3.293983\t2\t2\t2\t1\t1\n130.00\t672.00\t1.00\t3.52783\t2\t2\t1\t2\t1\n170.00\t775.00\t1.00\t3.297687\t1\t1\t2\t1\t1\n200.00\t698.00\t1.00\t3.266522\t2\t2\t2\t1\t1\n175.00\t1008.00\t1.00\t3.208421\t1\t2\t1\t2\t1\n65.00\t750.00\t1.00\t3.030134\t2\t1\t2\t1\t1\n170.00\t672.00\t0.00\t3.416414\t1\t1\t2\t2\t1\n220.00\t827.00\t1.00\t3.210844\t2\t1\t2\t1\t1\n230.00\t905.00\t1.00\t3.274121\t2\t1\t2\t1\t1\n190.00\t672.00\t1.00\t3.253857\t2\t1\t2\t2\t1\n260.00\t801.00\t1.00\t3.254629\t2\t2\t2\t1\t1\n150.00\t646.00\t1.00\t2.971952\t1\t1\t2\t2\t1\n250.00\t569.00\t0.00\t3.225255\t2\t2\t1\t1\t1\n190.00\t775.00\t1.00\t3.11795\t2\t2\t2\t2\t1\n320.00\t543.00\t1.00\t3.238678\t2\t1\t2\t1\t1\n150.00\t775.00\t1.00\t3.492256\t2\t1\t2\t2\t1\n115.00\t698.00\t1.00\t3.230014\t2\t1\t2\t1\t1\n75.00\t879.00\t0.00\t3.210037\t2\t1\t2\t2\t1\n150.00\t724.00\t0.00\t3.128513\t2\t1\t2\t1\t1\n90.00\t724.00\t1.00\t3.243764\t1\t1\t1\t2\t1\n150.00\t931.00\t0.00\t3.312366\t2\t2\t2\t1\t1\n185.00\t905.00\t0.00\t3.262318\t2\t1\t2\t2\t1\n250.00\t698.00\t1.00\t3.269189\t2\t1\t1\t1\t1\n165.00\t775.00\t1.00\t3.239854\t1\t1\t2\t2\t1\n75.00\t595.00\t0.00\t2.986692\t2\t1\t2\t1\t1\n170.00\t724.00\t1.00\t3.140698\t2\t1\t2\t1\t1\n200.00\t905.00\t1.00\t3.080073\t2\t1\t2\t2\t1\n270.00\t982.00\t0.00\t3.248823\t2\t1\t2\t1\t1\n85.00\t1034.00\t1.00\t3.331847\t2\t1\t2\t2\t1\n100.00\t750.00\t1.00\t3.416743\t2\t1\t2\t2\t1\n170.00\t853.00\t1.00\t3.247269\t2\t1\t2\t2\t1\n130.00\t724.00\t0.00\t3.329343\t2\t1\t2\t1\t1\n165.00\t750.00\t0.00\t3.125005\t1\t1\t2\t2\t1\n300.00\t750.00\t0.00\t3.278276\t2\t2\t2\t1\t1\n120.00\t879.00\t1.00\t3.429461\t1\t1\t2\t2\t1\n110.00\t827.00\t1.00\t3.319264\t1\t1\t2\t2\t1\n160.00\t724.00\t0.00\t3.322154\t2\t2\t2\t1\t1\n100.00\t646.00\t0.00\t3.192121\t2\t1\t1\t1\t1\n80.00\t698.00\t1.00\t3.354106\t1\t1\t2\t2\t1\n185.00\t827.00\t0.00\t3.285412\t2\t1\t2\t1\t1\n60.00\t620.00\t1.00\t3.441699\t2\t1\t2\t2\t1\n200.00\t827.00\t1.00\t3.145445\t2\t1\t1\t1\t1\n115.00\t827.00\t0.00\t3.488598\t1\t1\t2\t2\t1\n170.00\t672.00\t0.00\t3.162094\t2\t1\t2\t1\t1\n100.00\t801.00\t1.00\t3.454422\t1\t2\t2\t2\t1\n100.00\t750.00\t1.00\t3.392829\t2\t2\t2\t1\t1\n150.00\t595.00\t0.00\t3.061988\t1\t1\t2\t2\t1\n250.00\t724.00\t0.00\t3.268047\t2\t1\t2\t1\t1\n180.00\t853.00\t0.00\t3.054944\t1\t2\t2\t2\t1\n250.00\t439.00\t1.00\t3.334701\t2\t2\t2\t1\t1\n245.00\t905.00\t1.00\t3.215269\t2\t2\t2\t1\t1\n145.00\t698.00\t0.00\t3.180551\t2\t1\t2\t1\t1\n140.00\t698.00\t1.00\t3.578506\t2\t1\t2\t2\t1\n250.00\t414.00\t1.00\t3.310543\t2\t1\t2\t1\t1\n260.00\t801.00\t0.00\t3.086943\t2\t1\t2\t1\t1\n150.00\t905.00\t0.00\t3.196221\t2\t1\t2\t2\t1\n280.00\t620.00\t0.00\t3.264996\t2\t1\t1\t1\t1\n95.00\t750.00\t0.00\t3.331847\t1\t1\t2\t2\t1\n265.00\t775.00\t0.00\t3.219276\t2\t1\t1\t1\t1\n210.00\t620.00\t0.00\t3.222868\t2\t1\t2\t1\t1\n120.00\t931.00\t1.00\t3.331847\t2\t1\t2\t2\t1\n130.00\t879.00\t1.00\t3.564449\t2\t2\t2\t2\t1\n270.00\t672.00\t1.00\t3.403528\t2\t1\t2\t1\t1\n200.00\t491.00\t0.00\t3.063858\t2\t2\t1\t1\t1\n190.00\t801.00\t1.00\t3.40386\t1\t1\t2\t2\t1\n140.00\t775.00\t1.00\t3.389125\t2\t1\t2\t1\t1\n130.00\t724.00\t1.00\t3.283539\t2\t1\t2\t2\t1\n150.00\t1060.00\t1.00\t3.540379\t2\t1\t2\t1\t1\n105.00\t1008.00\t1.00\t3.333632\t1\t1\t2\t2\t1\n160.00\t698.00\t0.00\t3.194173\t1\t2\t2\t1\t1\n100.00\t724.00\t0.00\t3.338967\t2\t2\t1\t2\t1\n75.00\t801.00\t1.00\t3.380314\t2\t2\t2\t1\t1\n90.00\t853.00\t1.00\t3.464485\t2\t1\t1\t1\t1\n300.00\t750.00\t1.00\t3.346389\t2\t2\t2\t1\t1\n120.00\t672.00\t1.00\t2.948116\t2\t2\t2\t2\t1\n145.00\t672.00\t1.00\t3.387436\t1\t1\t2\t1\t1\n210.00\t646.00\t1.00\t2.998229\t2\t2\t1\t1\t1\n150.00\t879.00\t1.00\t3.361763\t2\t1\t1\t2\t1\n130.00\t672.00\t0.00\t3.234355\t2\t2\t1\t1\t1\n210.00\t672.00\t1.00\t3.158276\t2\t1\t1\t1\t1\n200.00\t775.00\t0.00\t3.175551\t1\t1\t2\t2\t1\n110.00\t724.00\t1.00\t3.615771\t2\t1\t2\t1\t1\n220.00\t724.00\t1.00\t2.878074\t2\t2\t2\t1\t1\n155.00\t595.00\t1.00\t3.188829\t2\t1\t2\t1\t1\n140.00\t698.00\t0.00\t3.017983\t2\t1\t2\t1\t1\n100.00\t750.00\t1.00\t3.367641\t1\t1\t2\t2\t1\n260.00\t672.00\t0.00\t3.04785\t2\t1\t1\t1\t1\n160.00\t698.00\t1.00\t3.137666\t1\t1\t1\t2\t1\n70.00\t724.00\t1.00\t3.426215\t1\t1\t2\t1\t1\n160.00\t1060.00\t1.00\t3.095578\t1\t1\t1\t2\t1\n160.00\t827.00\t1.00\t3.085573\t2\t1\t2\t1\t1\n190.00\t853.00\t1.00\t3.398193\t2\t2\t2\t1\t1\n120.00\t853.00\t1.00\t3.38845\t2\t1\t1\t2\t1\n180.00\t698.00\t1.00\t3.177637\t2\t1\t2\t1\t1\n120.00\t698.00\t1.00\t3.322515\t2\t1\t2\t2\t1\n230.00\t569.00\t1.00\t3.244544\t2\t1\t1\t1\t1\n260.00\t879.00\t1.00\t3.179303\t2\t2\t1\t1\t1\n180.00\t853.00\t0.00\t3.403195\t2\t1\t2\t2\t1\n190.00\t879.00\t1.00\t3.304686\t2\t1\t2\t2\t1\n210.00\t853.00\t1.00\t3.288029\t2\t1\t1\t1\t1\n190.00\t672.00\t0.00\t3.321432\t2\t2\t1\t1\t1\n180.00\t646.00\t1.00\t3.192532\t2\t1\t2\t2\t1\n250.00\t775.00\t1.00\t3.289521\t1\t1\t1\t1\t1\n120.00\t775.00\t0.00\t3.208825\t1\t1\t1\t2\t1\n170.00\t1034.00\t0.00\t3.196221\t2\t1\t2\t2\t1\n140.00\t801.00\t1.00\t3.480317\t2\t1\t2\t2\t1\n190.00\t1060.00\t1.00\t3.179303\t2\t1\t2\t2\t1\n180.00\t672.00\t0.00\t3.023834\t2\t1\t2\t2\t1\n110.00\t827.00\t1.00\t3.164208\t2\t1\t2\t1\t1\n110.00\t853.00\t1.00\t3.423285\t1\t2\t2\t2\t1\n270.00\t775.00\t0.00\t3.197039\t1\t2\t1\t1\t1\n340.00\t595.00\t1.00\t3.35829\t2\t2\t2\t1\t1\n40.00\t905.00\t0.00\t3.093766\t2\t1\t2\t2\t1\n185.00\t905.00\t0.00\t3.275256\t2\t1\t1\t1\t1\n230.00\t750.00\t1.00\t3.357942\t2\t2\t2\t1\t1\n105.00\t1112.00\t1.00\t3.046901\t2\t1\t2\t2\t1\n210.00\t698.00\t0.00\t3.239854\t2\t1\t2\t1\t1\n100.00\t801.00\t0.00\t3.106826\t2\t1\t2\t2\t1\n100.00\t827.00\t1.00\t3.467297\t1\t1\t2\t2\t1\n140.00\t931.00\t1.00\t3.074543\t1\t1\t2\t2\t1\n280.00\t620.00\t0.00\t3.389462\t2\t1\t1\t1\t1\n180.00\t853.00\t0.00\t3.38845\t2\t1\t2\t2\t1\n120.00\t1008.00\t0.00\t3.123246\t1\t1\t2\t2\t1\n";
+}
+}
+
+function demorat()
+{
+  with(window.document.key_search)
+  {
+
+searchkey.value="Sex\tDrug\tW1\tW2\nM\tD1\t5.00\t6.00\nM\tD1\t7.00\t6.00\nM\tD1\t9.00\t9.00\nM\tD1\t5.00\t4.00\nM\tD2\t9.00\t12.00\nM\tD2\t7.00\t7.00\nM\tD2\t7.00\t6.00\nM\tD2\t6.00\t8.00\nM\tD3\t14.00\t11.00\nM\tD3\t21.00\t15.00\nM\tD3\t12.00\t10.00\nM\tD3\t17.00\t12.00\nF\tD1\t7.00\t10.00\nF\tD1\t8.00\t10.00\nF\tD1\t6.00\t6.00\nF\tD1\t9.00\t7.00\nF\tD2\t7.00\t6.00\nF\tD2\t10.00\t13.00\nF\tD2\t6.00\t9.00\nF\tD2\t8.00\t7.00\nF\tD3\t14.00\t9.00\nF\tD3\t14.00\t8.00\nF\tD3\t16.00\t12.00\nF\tD3\t10.00\t5.00\n";
+}
+}
+
+
+function Upload()
+{
+        
+        with(window.document.key_search)
+        {
+		MyUpload.value="YES";            
+        }
+}
+
+
+function SearchCheck()
+{
+	with(window.document.key_search)
+  	{
+        	if(trim(searchkey.value)=="")
+        	{
+                	alert("Sorry,the search field is empty");
+                	return false;
+        	}
+        	else
+        	{
+			my_page.value=1;
+                        Search.value="YES";
+               		return true;
+        	}
+  	}
+}
+function pheno()
+{
+	with(window.document.pheno)
+	{
+		my_page.value=1;
+	}
+}
+function clear_key()
+{
+        with(window.document.key_search)
+        {
+         my_snpid.value="";
+         my_mirid.value="";
+         my_run.value=0;
+	 my_org.value="All";
+        submit();
+        }
+
+}
+
+function refresh()
+{
+	with(window.document.key_search)
+	{
+		if(my_org.value=="Human")
+		{
+		//	search_method[3].disabled=true;
+		//	my_phenodesc.disabled=true;
+		//	pheno_sample.disabled=true;
+		}
+  		else
+		{
+			search_method[3].disabled=false;	
+			my_phenodesc.disabled=false;
+			pheno_sample.disabled=false;
+		}
+	}
+}
+
+
+function pheno_next()
+{
+	with(window.document.key_search)
+	{
+		Search.value="YES";
+                my_run.value=2;
+		my_page.value++;
+		submit();
+	}
+}
+
+function pheno_previous()
+{
+	with(window.document.key_search)
+	{       Search.value="YES";
+		my_run.value=2;
+		my_page.value--;
+		submit();
+	}
+}
+
+function next_page()
+{
+		with(window.document.key_search)
+		{
+			Search.value="YES";
+                        my_page.value++;
+			submit();
+		}
+       
+}
+function previous_page()
+{
+        with(window.document.key_search)
+        {       
+                Search.value="YES";
+                my_page.value--;
+        	submit();
+	}
+}
+
+function wopen(url, name, param) 
+{
+ window.open(url,name, param);
+ return ;
+}
+
+function trim(inputString)
+{
+   if (typeof inputString != "string")
+        {
+                return inputString;
+        }
+   var retValue = inputString;
+   var ch = retValue.substring(0, 1);
+   while (ch == " ")
+        { // Check for spaces at the beginning of the string
+      retValue = retValue.substring(1, retValue.length);
+      ch = retValue.substring(0, 1);
+   }
+   ch = retValue.substring(retValue.length-1, retValue.length);
+   while (ch == " ")
+        { // Check for spaces at the end of the string
+      retValue = retValue.substring(0, retValue.length-1);
+      ch = retValue.substring(retValue.length-1, retValue.length);
+   }
+   while (retValue.indexOf("  ") != -1)
+        { // Note that there are two spaces in the string - look for multiple spaces within the string
+      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two 
+spac$   }
+   return retValue; // Return the trimmed string back to the user
+} // Ends the "trim" function
+
+
+-->
+</script>
diff --git a/sourcecodes/help.php b/sourcecodes/help.php
index 683eeebe..92e44d67 100644
--- a/sourcecodes/help.php
+++ b/sourcecodes/help.php
@@ -96,7 +96,7 @@ BNW includes a structural constraint interface that provides users with options
 </tr>
 <br>
 <tr><td>
-  <p align="justify"> After structure learning is completed, BNW automatically performs parameter learning of the network model using the Kevin Murphy's <a href=http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.25.1216>Bayes Net Toolbox</a> (<a href=https://github.com/bayesnet/bnt>BNT</a>) and displays the network model. Discrete variables in the network are displayed as bar charts and continuous variables are displayed as Gaussian distributions. The networks can be used to make predictions after clicking on a node and entering a value for that variable. Specifically, click on either the blue bar for a discrete node or the blue line for a continuous node to bring up a pop-up box that can be used to enter a value for the node. After submitting a value for the variable, the distributions of the other nodes in the network will change, allowing for visualization of the impact of setting the variable to the given value. The distributions after the entered value is considered are shown in red, while the original distributions are shown in blue. The node for which data was entered is outlined in red.<br><br>
+  <p align="justify"> After structure learning is completed, BNW automatically performs parameter learning of the network model using the Kevin Murphy's <a href=http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.25.1216>Bayes Net Toolbox</a> (<a href=https://github.com/bayesnet/bnt>BNT</a>) and displays the network model. BNW has been recently been updataed and Dirichlet prior distributions are now used during parameter learning.<br><br>Discrete variables in the network are displayed as bar charts and continuous variables are displayed as Gaussian distributions. The networks can be used to make predictions after clicking on a node and entering a value for that variable. Specifically, click on either the blue bar for a discrete node or the blue line for a continuous node to bring up a pop-up box that can be used to enter a value for the node. After submitting a value for the variable, the distributions of the other nodes in the network will change, allowing for visualization of the impact of setting the variable to the given value. The distributions after the entered value is considered are shown in red, while the original distributions are shown in blue. The node for which data was entered is outlined in red.<br><br>
 Two prediction modes are available in BNW: evidence and intervention. In the evidence mode, entered values will alter the distributions of the other variables in the network, but will not alter the network structure. In intervention mode, the intervention alters both the distributions of the network variables and the network structure. Specifically, the intervened variable becomes independent of its parents. Evidence mode is appropriate when making predictions of other network variables after the value of one variable in the network is observed, while intervention mode is appropriate for predictions after experimental interventions that alter the values of some variables in the network. Further discussion of the difference between evidence and intervention prediction modes is given on the BNW <a href="faq.php">FAQ</a> page.       
 </td></tr>
 </table>
@@ -133,7 +133,7 @@ Two prediction modes are available in BNW: evidence and intervention. In the evi
  <b> 1.</b> If a variable contains 3 or fewer different values, the variable is considered to be discrete.<br><br>
  <b> 2.</b> If a variable contains more than 20 different values, the variable is considered to be continuous.<br><br>
  <b> 3.</b> If the ratio of the number of different values for a variable compared to the number of cases in the data set is large, the variable is considered to be continuous. Specifically, if this ratio is 1/3 or larger, the variable is considered to be continuous.<br><br>
- <b> 4.</b> If none of the first three rules apply, the data set is inspected to determine if any of the values for the variable contain a period (.). If at least one value contains a period, the variable is considered to be continous; otherwise, the variable is considered to be discrete.<br><br>
+ <b> 4.</b> If none of the first three rules apply, the data set is inspected to determine if any of the values for the variable contain a period (.). If at least one value contains a period, the variable is considered to be continuous; otherwise, the variable is considered to be discrete.<br><br>
   Users can examine whether or not BNW has correctly loaded input data files and classified variables by clicking on "View uploaded variables and data" on the left-hand menu after uploading a dataset. We believe that BNW should correctly classify variables in most cases, but users may occasionally need to add or remove a period to the data of some variables. <br><br>
     An example input data file for a file with 5 variables is given below. The network contains 2 discrete (Disc1 and Disc2) variables, which are given in the first two columns of the file, and 3 continuous variables (Cont1, Cont2, and Cont3). Disc1 is a discrete variable with two states (1 and 2), while Disc2 has two states (A and B). Although the samples of Cont2 are integral values, we wish to deal with this variable as continuous, not discrete. Therefore, the value of Cont2 for the first sample is given as '3.0' instead of '3' so that one of the values of Cont2 contains a '.', helping to ensure that Cont2 is interpreted as a continuous variable.
 </p>
@@ -209,12 +209,27 @@ Two prediction modes are available in BNW: evidence and intervention. In the evi
 <tr><td>
 <p align="justify"> BNW has recently been updated to add features and improve the user experience. These updates have included improving the network model visualizations and allowing users to more quickly load large data sets. Additionally, in a change that is invisible to users, BNW now uses Octave to perform parameter learning with the Bayes Net Toolbox. <br><br>
 Major changes and new features that have been added to BNW include:<br>
-<br><b>1)</b> Increased flexibility in formatting of uploaded data files. One major change is that BNW now allows for users to upload data files in which discrete variables have alphabetic values. For example, a file containing a node for the genotype of BXD mice can now have values of B and D; the values do not have to be recoded as integers. A full description of the proper format for input files in BNW considering these changes can be found <a href="help.php#file_format">here</a>.<br>
-<br><b>2)</b> Added "View uploaded variables and data" button to allow users to ensure that uploaded data sets are loaded and parsed correctly. After users upload a data set, clicking this button provides the ability to view either the uploaded data file directly or view a variable description file that shows how BNW has parsed the data. The variable description file lists the number of variables and cases (e.g., individuals or samples) in the data file. It also indicates whether each variable is discrete or continuous and the criteria that was used to make this determination. For discrete variables, the possible states of the variable are provided. For continuous variables, the mean and standard deviation of the variable is provided.<br>
-<br><b>3)</b> Added "View parameters" button to allow users to quantify network parameters. Users can now view the parameters of the network models considering the original data set that was uploaded by the user or the predicted parameters considering the evidence or intervention that has been entered by the user. This feature allows users to quantify predictions using the Bayesian network model.<br>
+<br><b>1)</b> Parameter learning settings have been modified. Specifically, network parameters (e.g., the distributions of states for discrete variables and means and standard deviations of Gaussian distributions) are now learned using Dirichlet prior distributions. In our testing, this has had a minimal impact on the parameters of most networks, but has helped reduce the impact of cases with rare combinations of states on the predicted distributions of some networks. In the original version of BNW, no priors were used.<br>
+<br><b>2)</b> Increased flexibility in formatting of uploaded data files. One major change is that BNW now allows for users to upload data files in which discrete variables have alphabetic values. For example, a file containing a node for the genotype of BXD mice can now have values of B and D; the values do not have to be recoded as integers. A full description of the proper format for input files in BNW considering these changes can be found <a href="help.php#file_format">here</a>.<br>
+<br><b>3)</b> Added "View uploaded variables and data" button to allow users to ensure that uploaded data sets are loaded and parsed correctly. After users upload a data set, clicking this button provides the ability to view either the uploaded data file directly or view a variable description file that shows how BNW has parsed the data. The variable description file lists the number of variables and cases (e.g., individuals or samples) in the data file. It also indicates whether each variable is discrete or continuous and the criteria that was used to make this determination. For discrete variables, the possible states of the variable are provided. For continuous variables, the mean and standard deviation of the variable is provided.<br>
+<br><b>4)</b> Added "View parameters" button to allow users to quantify network parameters. Users can now view the parameters of the network models considering the original data set that was uploaded by the user or the predicted parameters considering the evidence or intervention that has been entered by the user. This feature allows users to quantify predictions using the Bayesian network model.<br>
 <br>After performing structure learning and viewing their network model, users now have the ability to click a "View parameters" button on menu to the left of the model structure. This button provides a link to a file containing the original parameters of the model. For discrete nodes, the fraction of cases for each possible state in the variable is provided. For continuous nodes, the mean and standard deviation of the Gaussian distribution that best fits the data in the variable are provided.<br><br>
 If users have made predictions using either the evidence or intervention modes, a link to a file containing the parameters of the network considering the entered evidence or intervention is provided. The file lists the predicted fraction of states for discrete nodes and predicted mean and standard deviation of the Gaussian distribution for continuous nodes. Nodes for which evidence or intervention has been entered are also noted in the file.    
 <br>
+<br><b>5)</b> Added a "Use a network ID to return to a network" on the BNW home page. This button allows users to enter a network ID to return to a previously generated network model. The network ID can also be used to share the network model with collaborators. The network ID is a three character string that is listed in left menu of a BNW network page.
+<br> 
+<!-- 
+<br><b>6)</b> Added a "Cross validation" feature to test networks using leave-one-out cross-validation. This button is available on the left menu of a network page. <br><br>
+ Clicking "Cross validation" will open a pop-up window. Users can then enter the name of the variable that they want to test. After submitting the variable, the pop-up window will close. Users can then click the "Cross validation" button on the network page again to determine if their cross-validation calculation has completed.
+If it has completed, the cross-validation output contains the following information:<br><br>
+For discrete variables, the predicted likelihood of each state for the left-out case, given the values of its parent variables in the network, is provided.<br><br>
+For continuous variables, the predicted mean and standard deviation of the left-out variable, given the values of its parent variables in the network, is provided.<br>
+<br><b>7)</b> Added a method to make predictions on a test data set that can be accessed using the "Make predictions on test data set" button on the left menu of a network page. <br><br>
+Clicking this button will open a pop-up window. Users can then upload a file containing a test data set. The format of the file should follow the format of the input data file with two exceptions:<br><br>
+<b>a)</b> The first line of the file should containing the name of the variable that should be predicted.<br><br>
+<b>b)</b> "NA" can be used for missing data. The test data file can contain missing data. If data for a variable of a given sample or case is not known, an "NA" can be entered in the input file. Data can be missing for the variable that is to be predicted or for the variables that are to be used as predictors.<br><br>
+ -->
+<br>
 </table>
 
 
diff --git a/sourcecodes/home.php b/sourcecodes/home.php
index 06d8337a..fa0afbba 100644
--- a/sourcecodes/home.php
+++ b/sourcecodes/home.php
@@ -7,6 +7,7 @@ include("header_new.inc");
 <ul class="navbar">
   <li><a href="bn_file_load_gom.php">Learn a network model from data</a>
   <li><a href="home_upload.php">Make predictions using a known structure</a>  
+  <li><a href="enter_netID.php">Use a network ID to return to a network</a>  
   <li><a href="getting_started.php">Getting started with BNW</a>
   <li><a href="help.php">Help</a>
   <li><a href="workflow.php">Tutorials and examples</a>
diff --git a/sourcecodes/input_error.php b/sourcecodes/input_error.php
new file mode 100644
index 00000000..b471a332
--- /dev/null
+++ b/sourcecodes/input_error.php
@@ -0,0 +1,27 @@
+<?php 
+
+$key=$_POST["My_key"];
+if($key=="")
+  $key="ab";//uniqid("");
+
+include("header_new.inc");
+?>
+
+<!-- Site navigation menu -->
+<ul class="navbar">
+  <li><a href="bn_file_load_gom.php">Learn a network model from data</a>
+  <li><a href="home_upload.php">Make predictions using a known structure</a>  
+  <li><a href="help.php">Help</a>
+  <li><a href="faq.php">FAQ</a>
+  <li><a href="home.php">Home</a>
+
+
+</ul>
+
+<div id="outer">
+<!-- Main content -->
+<br>
+  <h1>There was an error with your input. Input data can only contain letters, numbers, underscores (_), periods (.), and whitespace.</h1>
+</div>
+</body>
+</html>
diff --git a/sourcecodes/input_error_no_menu.php b/sourcecodes/input_error_no_menu.php
new file mode 100644
index 00000000..907e4e15
--- /dev/null
+++ b/sourcecodes/input_error_no_menu.php
@@ -0,0 +1,3 @@
+<br>
+  <h1>There was an error with your input. Input data can only contain <br>letters, numbers, hyphens (-), and periods (.).</h1>
+</html>
diff --git a/sourcecodes/input_error_no_menu.php~ b/sourcecodes/input_error_no_menu.php~
new file mode 100644
index 00000000..7063cc3d
--- /dev/null
+++ b/sourcecodes/input_error_no_menu.php~
@@ -0,0 +1,3 @@
+<br>
+  <h1>There was an error with your input. Input data can only contain <br>letters, numbers, underscores (_), periods (.), and whitespace.</h1>
+</html>
diff --git a/sourcecodes/input_validate.php b/sourcecodes/input_validate.php
new file mode 100644
index 00000000..7c9dbe60
--- /dev/null
+++ b/sourcecodes/input_validate.php
@@ -0,0 +1,30 @@
+<?php
+//This file will contain input validation functions.
+
+function valid_keyval($keyval)
+{
+  $keyval = trim($keyval);
+  $keyval = stripslashes($keyval);
+  $keyval = htmlspecialchars($keyval);
+  //check if keyval contains only uppercase or lowercase letters.
+  if (!preg_match('/^[a-zA-Z]+$/',$keyval)) {
+    header("Location: keyval_error.php");
+  }
+  if (strlen($keyval)!=3) {
+    header("Location: keyval_error.php");
+  }
+  return $keyval;
+}
+
+
+function valid_input($input)
+{
+  $input = trim($input);
+  $input = stripslashes($input);
+  $input = htmlspecialchars($input);
+  //check if keyval contains only letters, numbers, hyphens, underscore, periods, or whitespace.
+  if (!preg_match('/^[-A-Za-z\d\ \t\r\n_\.]+$/',$input)) {
+    header("Location: input_error.php");
+  }
+  return $input;
+}
diff --git a/sourcecodes/keyval_error.php b/sourcecodes/keyval_error.php
new file mode 100644
index 00000000..4cf97c33
--- /dev/null
+++ b/sourcecodes/keyval_error.php
@@ -0,0 +1,27 @@
+<?php 
+
+$key=$_POST["My_key"];
+if($key=="")
+  $key="ab";//uniqid("");
+
+include("header_new.inc");
+?>
+
+<!-- Site navigation menu -->
+<ul class="navbar">
+  <li><a href="bn_file_load_gom.php">Learn a network model from data</a>
+  <li><a href="home_upload.php">Make predictions using a known structure</a>  
+  <li><a href="help.php">Help</a>
+  <li><a href="faq.php">FAQ</a>
+  <li><a href="home.php">Home</a>
+
+
+</ul>
+
+<div id="outer">
+<!-- Main content -->
+<br>
+<h1>There was an error in an input or network ID value. The network ID must be three characters and contain only upper and lowercase letters.</h1>
+</div>
+</body>
+</html>
diff --git a/sourcecodes/kfold_cv.php b/sourcecodes/kfold_cv.php
new file mode 100644
index 00000000..6cae9538
--- /dev/null
+++ b/sourcecodes/kfold_cv.php
@@ -0,0 +1,150 @@
+<?php 
+include("header_new.inc");
+include("input_validate.php");
+if($_GET["My_key"]!="")
+  $keyval=valid_keyval($_GET["My_key"]);
+if($_POST["My_key"]!="")
+  $keyval=valid_keyval($_POST["My_key"]);
+?>
+
+<?php
+$varName = "";
+$varNameErr = "";
+$nm_folds="";
+
+if ($_SERVER["REQUEST_METHOD"] == "POST") {
+  $nm_folds = (int)$_POST['nm_folds'];
+  if (empty($_POST["varName"])) {
+    $varNameErr = "Entering a variable name is required";
+  } else {
+    //    $varName = test_input($_POST["varName"]);
+    $varName = valid_input($_POST["varName"]);
+    $varNameErr = "1";
+    // check if name only contains letters and whitespace
+    //    if (!preg_match("/^[\w]*$/",$varName)) {
+    //      $varNameErr = "The input string contains characters that are not allowed";
+    //    }
+  }
+}
+
+
+function test_input($data) {
+  $data = trim($data);
+  $data = stripslashes($data);
+  $data = htmlspecialchars($data);
+  return $data;
+}
+
+?>
+
+
+<!-- Site navigation menu -->
+<ul class="navbar2">
+  <li><p>Network ID:<br><?php print($keyval);?></p></li>
+</ul>
+<ul class="navbar">
+  <li><a href="javascript:void(0);"
+  NAME="Network" title="Network" onClick=window.open("layout.php?My_key=<?php print($keyval);?>","_self");>Return to network</a>
+  <li><a href="javascript:void(0);"
+  NAME="CV_predictions" title="CV_pred" onClick=window.open("cv_predictions.php?My_key=<?php print($keyval);?>","_self");>Return to validation and predictions menu</a>
+
+  <li><a href="help.php">Help</a>
+  <li><a href="home.php">Home</a>
+
+
+</ul>
+
+
+
+
+<div id="outer">
+<!-- Main content -->
+
+<?php
+  $filename1="./data/".$keyval."kfoldCV.txt";
+  $filename2="./data/".$keyval."kfoldCV_temp.txt";
+if(file_exists($filename2))
+ {?>
+<br>
+  <h2> k-fold cross-validation results are being calculated</h2>
+<br>
+<?php
+ }
+ else if(file_exists($filename1))
+ {?>
+<br>
+    <h2> <a href=<?php $d="./data/".$keyval."kfoldCV.txt"; print($d);?>>View cross-validation results</a></h2>
+<br>
+<h3>Perform k-fold cross-validation of another network variable</h3>
+<p align="justify"> 
+ Enter the name of variable and number of folds below to validate predictions of that variable.
+<br>
+</p>
+<FORM METHOD="post" ACTION="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
+  Variable name:<INPUT TYPE="text" name="varName" value="<?php echo $varName;?>" style="padding: 2px 5px; border: 2px solid; border-color: black black black black; font-family: Georgia, ..., serif; font-size: 18px; display: block; height: 30px; width: 300px;">
+<span class="error"> <?php if($varNameErr!="1") {echo $varNameErr;};?></span>
+<br>
+    Number of folds:<br><SELECT NAME="nm_folds">
+     <option value="2">2</option>
+     <option value="3">3</option>
+     <option value="4">4</option>
+     <option value="5">5</option>
+     <option value="6">6</option>
+     <option value="7">7</option>
+     <option value="8">8</option>
+     <option value="9">9</option>
+     <option value="10">10</option>
+     </select>
+     <input type='hidden' name='My_key' value='<?php print($keyval)?>'>
+     <br><br><input type="submit" name="submit" value="Submit" style="display: block; height: 30px; width:100px; font-family: Georgia, ..., serif; font-size: 16px;">
+</FORM>
+<br>
+<?php
+     } else {
+?>
+<h2>Perform k-fold cross-validation of network</h2>
+<p align="justify"> 
+  To perform cross-validation, enter the name of the variable <br>that you want to test the predictions of and the number <br>of folds that the data should be separated into below.
+<br>
+<FORM METHOD="post" ACTION="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
+  Variable Name:<INPUT TYPE="text" name="varName" value="<?php echo $varName;?>" 
+  style="padding: 2px 5px; border: 2px solid; border-color: black black black black; font-family: Georgia, ..., serif; font-size: 18px; display: block; height: 30px; width: 300px;">
+  <span class="error"> <?php if($varNameErr!="1") {echo $varNameErr;};?></span>
+  <br>
+     Number of folds:<br><SELECT NAME="nm_folds">
+     <option value="2">2</option>
+     <option value="3">3</option>
+     <option value="4">4</option>
+     <option value="5">5</option>
+     <option value="6">6</option>
+     <option value="7">7</option>
+     <option value="8">8</option>
+     <option value="9">9</option>
+     <option value="10">10</option>
+     </select>
+     <input type='hidden' name='My_key' value='<?php print($keyval)?>'>
+     <br><br><input type="submit" name="submit" value="Submit" style="display: block; height: 30px; width:100px; font-family: Georgia, ..., serif; font-size: 16px;">
+</FORM>
+</p>
+<br>
+
+<?php
+}
+
+if($nm_folds!="")
+{
+  $command = './run_kfold '.$keyval.' '.$varName.' '.$nm_folds;
+  $output = shell_exec("$command > /dev/null 2 > /dev/null &");
+  $pred_link='cv_predictions.php?My_key='.$keyval;
+  sleep(1);
+  echo "<br>";
+  echo "Calculation submitted";
+  echo "<br>";
+  echo "<a href=$pred_link>Click to return to cross-validation and predictions menu</a>";
+}
+?>
+
+</div>
+</body>
+
+
diff --git a/sourcecodes/kfold_cv_example.php b/sourcecodes/kfold_cv_example.php
new file mode 100644
index 00000000..44b56fa5
--- /dev/null
+++ b/sourcecodes/kfold_cv_example.php
@@ -0,0 +1,150 @@
+<?php 
+include("header_new.inc");
+include("input_validate.php");
+if($_GET["My_key"]!="")
+  $keyval=valid_keyval($_GET["My_key"]);
+if($_POST["My_key"]!="")
+  $keyval=valid_keyval($_POST["My_key"]);
+?>
+
+<?php
+$varName = "";
+$varNameErr = "";
+$nm_folds="";
+
+if ($_SERVER["REQUEST_METHOD"] == "POST") {
+  $nm_folds = (int)$_POST['nm_folds'];
+  if (empty($_POST["varName"])) {
+    $varNameErr = "Entering a variable name is required";
+  } else {
+    //    $varName = test_input($_POST["varName"]);
+    $varName = valid_input($_POST["varName"]);
+    $varNameErr = "1";
+    // check if name only contains letters, numbers, and whitespace
+    //   if (!preg_match('/^[-A-Za-z\d\ \t\r\n_\.]+$',$varName)) {
+    //      $varNameErr = "The input string contains characters that are not allowed";
+    //    }
+  }
+}
+
+
+function test_input($data) {
+  $data = trim($data);
+  $data = stripslashes($data);
+  $data = htmlspecialchars($data);
+  return $data;
+}
+
+?>
+
+
+<!-- Site navigation menu -->
+<ul class="navbar2">
+  <li><p>Network ID:<br><?php print($keyval);?></p></li>
+</ul>
+<ul class="navbar">
+  <li><a href="javascript:void(0);"
+  NAME="Network" title="Network" onClick=window.open("layout_example.php?My_key=<?php print($keyval);?>","_self");>Return to network</a>
+  <li><a href="javascript:void(0);"
+  NAME="CV_predictions" title="CV_pred" onClick=window.open("cv_predictions_example.php?My_key=<?php print($keyval);?>","_self");>Return to validation and predictions menu</a>
+
+  <li><a href="help.php">Help</a>
+  <li><a href="home.php">Home</a>
+
+
+</ul>
+
+
+
+
+<div id="outer">
+<!-- Main content -->
+
+<?php
+  $filename1="./data/".$keyval."kfoldCV.txt";
+  $filename2="./data/".$keyval."kfoldCV_temp.txt";
+if(file_exists($filename2))
+ {?>
+<br>
+  <h2> k-fold cross-validation results are being calculated</h2>
+<br>
+<?php
+ }
+ else if(file_exists($filename1))
+ {?>
+<br>
+    <h2> <a href=<?php $d="./data/".$keyval."kfoldCV.txt"; print($d);?>>View cross-validation results</a></h2>
+<br>
+<h3>Perform k-fold cross-validation of another network variable</h3>
+<p align="justify"> 
+ Enter the name of variable and number of folds below to validate predictions of that variable.
+<br>
+</p>
+<FORM METHOD="post" ACTION="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
+  Variable name:<INPUT TYPE="text" name="varName" value="<?php echo $varName;?>" style="padding: 2px 5px; border: 2px solid; border-color: black black black black; font-family: Georgia, ..., serif; font-size: 18px; display: block; height: 30px; width: 300px;">
+<span class="error"> <?php if($varNameErr!="1") {echo $varNameErr;};?></span>
+<br>
+    Number of folds:<br><SELECT NAME="nm_folds">
+     <option value="2">2</option>
+     <option value="3">3</option>
+     <option value="4">4</option>
+     <option value="5">5</option>
+     <option value="6">6</option>
+     <option value="7">7</option>
+     <option value="8">8</option>
+     <option value="9">9</option>
+     <option value="10">10</option>
+     </select>
+     <input type='hidden' name='My_key' value='<?php print($keyval)?>'>
+     <br><br><input type="submit" name="submit" value="Submit" style="display: block; height: 30px; width:100px; font-family: Georgia, ..., serif; font-size: 16px;">
+</FORM>
+<br>
+<?php
+     } else {
+?>
+<h2>Perform k-fold cross-validation of network</h2>
+<p align="justify"> 
+  To perform cross-validation, enter the name of the variable <br>that you want to test the predictions of and the number <br>of folds that the data should be separated into below.
+<br>
+<FORM METHOD="post" ACTION="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
+  Variable Name:<INPUT TYPE="text" name="varName" value="<?php echo $varName;?>" 
+  style="padding: 2px 5px; border: 2px solid; border-color: black black black black; font-family: Georgia, ..., serif; font-size: 18px; display: block; height: 30px; width: 300px;">
+  <span class="error"> <?php if($varNameErr!="1") {echo $varNameErr;};?></span>
+  <br>
+     Number of folds:<br><SELECT NAME="nm_folds">
+     <option value="2">2</option>
+     <option value="3">3</option>
+     <option value="4">4</option>
+     <option value="5">5</option>
+     <option value="6">6</option>
+     <option value="7">7</option>
+     <option value="8">8</option>
+     <option value="9">9</option>
+     <option value="10">10</option>
+     </select>
+     <input type='hidden' name='My_key' value='<?php print($keyval)?>'>
+     <br><br><input type="submit" name="submit" value="Submit" style="display: block; height: 30px; width:100px; font-family: Georgia, ..., serif; font-size: 16px;">
+</FORM>
+</p>
+<br>
+
+<?php
+}
+
+if($nm_folds!="")
+{
+  $command = './run_kfold '.$keyval.' '.$varName.' '.$nm_folds;
+  $output = shell_exec("$command > /dev/null 2 > /dev/null &");
+  $pred_link='cv_predictions_example.php?My_key='.$keyval;
+  sleep(1);
+  echo "<br>";
+  echo "Calculation submitted";
+  echo "<br>";
+  echo "<a href=$pred_link>Click to return to cross-validation and predictions menu</a>";
+}
+?>
+
+</div>
+</body>
+
+
diff --git a/sourcecodes/layout.php b/sourcecodes/layout.php
index e5f4c6b1..75748639 100644
--- a/sourcecodes/layout.php
+++ b/sourcecodes/layout.php
@@ -1,13 +1,8 @@
 <?php
 
 include("header_new.inc");
-
-$keyval=$_GET["My_key"];
-
-
-
-
-
+include("input_validate.php");
+$keyval=valid_keyval($_GET["My_key"]);
 
 $dir="./data/";
 
@@ -77,10 +72,14 @@ function calcHeight()
 <!-- Site navigation menu -->
 <ul class="navbar2">
    <li><p>Selected mode:<br><?php print($radiovalue);?></p></li>
+   <li><p>Network ID:<br><?php print($keyval);?></p></li>
 </ul>
 
 <ul class="navbar">
  <li><a href="clear.php?My_key=<?php print($keyval);?>" target='_blank'>Clear evidence</a>
+<!---
+<li><a href="cv_predictions.php?My_key=<?php print($keyval);?>";>Cross validation and predictions</a>
+--->
   <li><a href="javascript:void(0);"
 NAME="Model Averaging Matrix" title="Model Averaging Matrix"
 onClick=window.open("matrix.php?My_key=<?php print($keyval);?>","Ratting","width=950,height=270,0,status=0,");>Display structure matrix</a>  
diff --git a/sourcecodes/layout_example.php b/sourcecodes/layout_example.php
index 130b8b7c..a675da8c 100644
--- a/sourcecodes/layout_example.php
+++ b/sourcecodes/layout_example.php
@@ -1,13 +1,9 @@
 <?php
 
 include("header_new.inc");
+include("input_validate.php");
 
-$keyval=$_GET["My_key"];
-
-
-
-
-
+$keyval=valid_keyval($_GET["My_key"]);
 
 $dir="./data/";
 
@@ -77,10 +73,14 @@ function calcHeight()
 <!-- Site navigation menu -->
 <ul class="navbar2">
    <li><p>Selected mode:<br><?php print($radiovalue);?></p></li>
+   <li><p>Network ID:<br><?php print($keyval);?></p></li>
 </ul>
 
 <ul class="navbar">
  <li><a href="clear_example.php?My_key=<?php print($keyval);?>" target='_blank'>Clear evidence</a>
+<!---
+<li><a href="cv_predictions_example.php?My_key=<?php print($keyval);?>";>Cross validation and predictions</a>
+--->
   <li><a href="javascript:void(0);"
 NAME="Model Averaging Matrix" title="Model Averaging Matrix"
 onClick=window.open("matrix.php?My_key=<?php print($keyval);?>","Ratting","width=950,height=270,0,status=0,");>Display structure matrix</a>  
diff --git a/sourcecodes/matrix.php b/sourcecodes/matrix.php
index 7d6eb87f..c1e56cf6 100644
--- a/sourcecodes/matrix.php
+++ b/sourcecodes/matrix.php
@@ -1,5 +1,6 @@
 <?php 
-$keyval=$_GET["My_key"];
+include("input_validate.php");
+$keyval=valid_keyval($_GET["My_key"]);
 $dir="./data/";
 
 $matfile=$dir.$keyval."structure_input_temp.txt";
diff --git a/sourcecodes/net_structure.php b/sourcecodes/net_structure.php
index ba1b9de1..ac61e143 100644
--- a/sourcecodes/net_structure.php
+++ b/sourcecodes/net_structure.php
@@ -1,6 +1,7 @@
 <?php
 include("header_new.inc");
 include("header_batchsearch.inc");
+include("input_validate.php");
 ////////////////continuous///////////////
 $searchID="";
 $UploadValue="NO";
@@ -12,7 +13,7 @@ if($_POST["My_key"]!="")
 if($_GET["My_key"]!="")
   $keyval=$_GET["My_key"];
 
-
+$keyval=valid_keyval($keyval);
 
 $sid="structure_input";
 $dir="./data/$keyval";
diff --git a/sourcecodes/network_layout_evd.php b/sourcecodes/network_layout_evd.php
index 27e4fb06..661caebc 100644
--- a/sourcecodes/network_layout_evd.php
+++ b/sourcecodes/network_layout_evd.php
@@ -1,5 +1,7 @@
 <?php 
 include("structuremap.php");
+include("header_batchsearch.inc");
+include("input_validate.php");
 
 //This function is used to transfer between the integral
 //  levels for discrete nodes that required by BNT and
@@ -29,7 +31,7 @@ foreach($leve_l as $l)
 $dir="./data/";
 
 
-$keyval=$_GET["My_key"];
+$keyval=valid_keyval($_GET["My_key"]);
 
 $matfile=$dir."$keyval"."net_figure.txt";
 
@@ -323,9 +325,15 @@ for($i=0;$i<$nnode;$i++)
           if (selectedItem) {
             var topping = data.getValue(selectedItem.row, 0);
             
-            var s = window.prompt('Selected evidence ' + topping + ' for ' + cnode + '. Enter new evidence ', topping );
-           
-            window.location.href = "add_evd.php?name=" + cnode + "&evidence=" + s + "&My_key="  + keyv;
+            var s = window.prompt('Selected evidence ' + topping + ' for ' + cnode + '. Enter new evidence ', topping );	    
+	    if (input_check(s)) 
+	      {
+		window.location.href = "add_evd.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;  
+	      }
+	    else
+	      {
+		window.location.href = "input_error_no_menu.php";
+	      }
           }
         } 
          chart.draw(data,
@@ -388,10 +396,16 @@ for($i=0;$i<$nnode;$i++)
            
             var topping = data.getValue(selectedItem.row, 0);
             var s = window.prompt('Selected evidence ' + topping + ' for ' + cnode + '. Enter new evidence ', topping );
-            window.location.href = "add_evd.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;  
-
-          }
-        }
+	    if (input_check(s)) 
+	      {
+		window.location.href = "add_evd.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;  
+	      }
+	    else
+	      {
+		window.location.href = "input_error_no_menu.php";
+	      }
+	  }
+       }
             chart.draw(data, {curveType: "function",
                   title:"<?php print($name);?>", titleTextStyle: {fontSize: <?php print($font);?>},
 			legend: {position: 'none'},
diff --git a/sourcecodes/network_layout_evd_2.php b/sourcecodes/network_layout_evd_2.php
index df400828..931cc0b8 100644
--- a/sourcecodes/network_layout_evd_2.php
+++ b/sourcecodes/network_layout_evd_2.php
@@ -1,6 +1,7 @@
 <?php 
   //include("structuremap.php");
-
+include("input_validate.php");
+include("header_batchsearch.inc");
 
 function levelmap($inx,$name,$mapdata)
 {
@@ -23,7 +24,7 @@ foreach($leve_l as $l)
 
 
 
-$keyval=trim($_GET["My_key"]);
+$keyval=valid_keyval($_GET["My_key"]);
 //////////////////////////Entered evidences//////////////////////////////////////////
 $dir="./data/";
 
@@ -546,12 +547,14 @@ else
             var topping = data.getValue(selectedItem.row, 0);
             
             var s = window.prompt('Selected evidence ' + topping + ' for ' + cnode + '. Enter new evidence ', topping );
-            
-            window.location.href = "add_evd.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;
-           
-
-  
-              //alert('The user selected ' + topping + topname);
+	    if (input_check(s))
+	      {
+		window.location.href = "add_evd.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;
+	      }
+	    else
+	      {
+		window.location.href = "input_error_no_menu.php";
+	      }
           }
         } 
          chart.draw(data,
@@ -695,9 +698,15 @@ else
           if (selectedItem) {
            
             var topping = data.getValue(selectedItem.row, 0);
-            var s = window.prompt('Selected evidence ' + topping + ' for ' + cnode + '. Enter new evidence ', topping );
-            window.location.href = "add_evd.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;  
-
+            var s = window.prompt('New selected evidence ' + topping + ' for ' + cnode + '. Enter new evidence ', topping );
+	    if (input_check(s))
+	      {
+		window.location.href = "add_evd.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;  
+	      }
+	    else
+	      {
+		window.location.href = "input_error_no_menu.php";
+	      }
           }
         }
             chart.draw(data, {curveType: "function",
diff --git a/sourcecodes/network_layout_evd_2_example.php b/sourcecodes/network_layout_evd_2_example.php
index d474b533..876d674f 100644
--- a/sourcecodes/network_layout_evd_2_example.php
+++ b/sourcecodes/network_layout_evd_2_example.php
@@ -1,6 +1,7 @@
 <?php 
   //include("structuremap.php");
-
+include("input_validate.php");
+include("header_batchsearch.inc");
 
 function levelmap($inx,$name,$mapdata)
 {
@@ -23,7 +24,7 @@ foreach($leve_l as $l)
 
 
 
-$keyval=trim($_GET["My_key"]);
+$keyval=valid_keyval($_GET["My_key"]);
 //////////////////////////Entered evidences//////////////////////////////////////////
 $dir="./data/";
 
@@ -605,9 +606,14 @@ else
             var topping = data.getValue(selectedItem.row, 0);
             
             var s = window.prompt('Selected evidence ' + topping + ' for ' + cnode + '. Enter new evidence ', topping );
-            
-            window.location.href = "add_evd_example.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;
-           
+	    if (input_check(s))
+	      {
+		window.location.href = "add_evd_example.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;
+	      }
+	    else
+	      {
+		window.location.href = "input_error_no_menu.php";
+	      }
           }
         } 
          chart.draw(data,
@@ -752,8 +758,14 @@ else
            
             var topping = data.getValue(selectedItem.row, 0);
             var s = window.prompt('Selected evidence ' + topping + ' for ' + cnode + '. Enter new evidence ', topping );
-            window.location.href = "add_evd_example.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;  
-
+	    if (input_check(s))
+	      {
+		window.location.href = "add_evd_example.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv; 
+	      }
+	    else
+	      {
+		window.location.href = "input_error_no_menu.php";
+	      }
           }
         }
             chart.draw(data, {curveType: "function",
diff --git a/sourcecodes/network_layout_evd_example.php b/sourcecodes/network_layout_evd_example.php
index 3f22064d..56f80a4e 100644
--- a/sourcecodes/network_layout_evd_example.php
+++ b/sourcecodes/network_layout_evd_example.php
@@ -1,5 +1,7 @@
 <?php 
   //include("structuremap.php");
+include("header_batchsearch.inc");
+include("input_validate.php");
 
 function levelmap($inx,$name,$mapdata)
 {
@@ -25,7 +27,7 @@ foreach($leve_l as $l)
 $dir="./data/";
 
 
-$keyval=$_GET["My_key"];
+$keyval=valid_keyval($_GET["My_key"]);
 
 $matfile=$dir."$keyval"."net_figure.txt";
 
@@ -359,10 +361,14 @@ for($i=0;$i<$nnode;$i++)
             var topping = data.getValue(selectedItem.row, 0);
             
             var s = window.prompt('Selected evidence ' + topping + ' for ' + cnode + '. Enter new evidence ', topping );
-           
-            window.location.href = "add_evd_example.php?name=" + cnode + "&evidence=" + s + "&My_key="  + keyv;
-           
-
+	    if (input_check(s))
+	      {
+                window.location.href = "add_evd_example.php?name=" + cnode + "&evidence=" + s + "&My_key="  + keyv;
+	      }
+	    else
+	      {
+		window.location.href = "input_error_no_menu.php";
+	      }
   
               //alert('The user selected ' + topping + topname);
           }
@@ -425,7 +431,14 @@ for($i=0;$i<$nnode;$i++)
            
             var topping = data.getValue(selectedItem.row, 0);
             var s = window.prompt('Selected evidence ' + topping + ' for ' + cnode + '. Enter new evidence ', topping );
-            window.location.href = "add_evd_example.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;  
+	    if (input_check(s))
+	      {
+		window.location.href = "add_evd_example.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv; 
+	      }
+	    else
+	      {
+		window.location.href = "input_error_no_menu.php";
+	      }
 
           }
         }
diff --git a/sourcecodes/network_layout_inv.php b/sourcecodes/network_layout_inv.php
index b9375e67..f6856fe4 100644
--- a/sourcecodes/network_layout_inv.php
+++ b/sourcecodes/network_layout_inv.php
@@ -1,5 +1,7 @@
 <?php 
   //include("structuremap.php");
+include("header_batchsearch.inc");
+include("input_validate.php");
 
 function levelmap($inx,$name,$mapdata)
 {
@@ -20,7 +22,7 @@ foreach($leve_l as $l)
 
 ////////////////////////////////////Read data from net_figure file///////////////////////Graphp Display/////////////////////////////////////////////
 
-$keyval=$_GET["My_key"];
+$keyval=valid_keyval($_GET["My_key"]);
 $dir="./data/";
 
 $lfile=$dir.$keyval."nlevels.txt";
@@ -315,8 +317,14 @@ for($i=0;$i<$nnode;$i++)
             var topping = data.getValue(selectedItem.row, 0);
             
             var s = window.prompt('Selected evidence ' + topping + ' for ' + cnode + '. Enter new evidence ', topping );
-           
-            window.location.href = "add_inv.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;
+	    if (input_check(s))
+	      {           
+		window.location.href = "add_inv.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;
+	      }
+	    else
+	      {
+		window.location.href = "input_error_no_menu.php";
+	      }
              }
         } 
          chart.draw(data,
@@ -378,8 +386,14 @@ for($i=0;$i<$nnode;$i++)
            
             var topping = data.getValue(selectedItem.row, 0);
             var s = window.prompt('Selected evidence ' + topping + ' for ' + cnode + '. Enter new evidence ', topping );
-            window.location.href = "add_inv.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;  
-
+	    if (input_check(s))
+	      {
+		window.location.href = "add_inv.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;  
+	      }
+	    else
+	      {
+		window.location.href = "input_error_no_menu.php";
+	      }
           }
         }
             chart.draw(data, {curveType: "function",
diff --git a/sourcecodes/network_layout_inv_2.php b/sourcecodes/network_layout_inv_2.php
index 550fdf4a..65451727 100644
--- a/sourcecodes/network_layout_inv_2.php
+++ b/sourcecodes/network_layout_inv_2.php
@@ -1,6 +1,7 @@
 <?php 
   //include("structuremap.php");
-
+include("header_batchsearch.inc");
+include("input_validate.php");
 
 function levelmap($inx,$name,$mapdata)
 {
@@ -23,7 +24,7 @@ foreach($leve_l as $l)
 
 
 
-$keyval=$_GET["My_key"];
+$keyval=valid_keyval($_GET["My_key"]);
 
 $dir="./data/";
 
@@ -753,9 +754,14 @@ else
             var topping = data.getValue(selectedItem.row, 0);
             
             var s = window.prompt('Selected evidence ' + topping + ' for ' + cnode + '. Enter new evidence ', topping );
-            
-            window.location.href = "add_inv.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;
-           
+	    if (input_check(s))
+	      {            
+		window.location.href = "add_inv.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;
+	      }
+	    else
+	      {
+		window.location.href = "input_error_no_menu.php";
+	      }
 
   
               //alert('The user selected ' + topping + topname);
@@ -949,8 +955,14 @@ else
            
             var topping = data.getValue(selectedItem.row, 0);
             var s = window.prompt('Selected evidence ' + topping + ' for ' + cnode + '. Enter new evidence ', topping );
-            window.location.href = "add_inv.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;  
-
+	    if (input_check(s))
+	      {
+		window.location.href = "add_inv.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;  
+	      }
+	    else
+	      {
+		window.location.href = "input_error_no_menu.php";
+	      }
           }
         }
             chart.draw(data, {curveType: "function",
diff --git a/sourcecodes/network_layout_inv_2_example.php b/sourcecodes/network_layout_inv_2_example.php
index ab7b2546..b4878af9 100644
--- a/sourcecodes/network_layout_inv_2_example.php
+++ b/sourcecodes/network_layout_inv_2_example.php
@@ -1,6 +1,7 @@
 <?php 
   //include("structuremap.php");
-
+include("header_batchsearch.inc");
+include("input_validate.php");
 
 function levelmap($inx,$name,$mapdata)
 {
@@ -23,7 +24,7 @@ foreach($leve_l as $l)
 
 
 
-$keyval=$_GET["My_key"];
+$keyval=valid_keyval($_GET["My_key"]);
 
 $dir="./data/";
 
@@ -751,12 +752,14 @@ else
             var topping = data.getValue(selectedItem.row, 0);
             
             var s = window.prompt('Selected evidence ' + topping + ' for ' + cnode + '. Enter new evidence ', topping );
-            
-            window.location.href = "add_inv_example.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;
-           
-
-  
-              //alert('The user selected ' + topping + topname);
+	    if (input_check(s))
+	      {
+		window.location.href = "add_inv_example.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;
+	      }
+	    else
+	      {
+		window.location.href = "input_error_no_menu.php";
+	      }
           }
         } 
          chart.draw(data,
@@ -952,7 +955,14 @@ else
            
             var topping = data.getValue(selectedItem.row, 0);
             var s = window.prompt('Selected evidence ' + topping + ' for ' + cnode + '. Enter new evidence ', topping );
-            window.location.href = "add_inv_example.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;  
+	    if (input_check(s))
+	      {
+		window.location.href = "add_inv_example.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;
+	      }
+	    else
+	      {
+		window.location.href = "input_error_no_menu.php";
+	      }
 
           }
         }
diff --git a/sourcecodes/network_layout_inv_example.php b/sourcecodes/network_layout_inv_example.php
index 24801cf0..076832b6 100644
--- a/sourcecodes/network_layout_inv_example.php
+++ b/sourcecodes/network_layout_inv_example.php
@@ -1,5 +1,7 @@
 <?php 
   //include("structuremap.php");
+include("header_batchsearch.inc");
+include("input_validate.php");
 
 function levelmap($inx,$name,$mapdata)
 {
@@ -22,7 +24,7 @@ foreach($leve_l as $l)
 
 ////////////////////////////////////Read data from net_figure file///////////////////////Graphp Display/////////////////////////////////////////////
 
-$keyval=$_GET["My_key"];
+$keyval=valid_keyval($_GET["My_key"]);
 $dir="./data/";
 
 $lfile=$dir.$keyval."nlevels.txt";
@@ -391,8 +393,14 @@ for($i=0;$i<$nnode;$i++)
             var topping = data.getValue(selectedItem.row, 0);
             
             var s = window.prompt('Selected evidence ' + topping + ' for ' + cnode + '. Enter new evidence ', topping );
-           
-            window.location.href = "add_inv_example.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;
+	    if (input_check(s))
+	      {       
+		window.location.href = "add_inv_example.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;
+	      }
+	    else
+	      {
+		window.location.href = "input_error_no_menu.php";
+	      }
             }
         } 
          chart.draw(data,
@@ -456,8 +464,14 @@ for($i=0;$i<$nnode;$i++)
            
             var topping = data.getValue(selectedItem.row, 0);
             var s = window.prompt('Selected evidence ' + topping + ' for ' + cnode + '. Enter new evidence ', topping );
-            window.location.href = "add_inv_example.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;  
-
+	    if (input_check(s))
+	      {
+		window.location.href = "add_inv_example.php?name=" + cnode + "&evidence=" + s + "&My_key=" + keyv;
+	      }
+	    else
+	      {
+		window.location.href = "input_error_no_menu.php";
+	      }
           }
         }
             chart.draw(data, {curveType: "function",
diff --git a/sourcecodes/parameter_display.php b/sourcecodes/parameter_display.php
index 7df6d282..1d65a11f 100644
--- a/sourcecodes/parameter_display.php
+++ b/sourcecodes/parameter_display.php
@@ -1,4 +1,7 @@
-<?php $keyval=$_GET["My_key"]; ?>
+<?php 
+include("input_validate.php");
+$keyval=valid_keyval($_GET["My_key"]); 
+?>
 
 <h3> <a href=<?php $d="./data/".$keyval."parameters.txt"; print($d);?>>View original parameters</a></h3>
 <br>
diff --git a/sourcecodes/parameter_learning/drawFigure.m b/sourcecodes/parameter_learning/drawFigure.m
index 7da07a90..c48f5b2d 100644
--- a/sourcecodes/parameter_learning/drawFigure.m
+++ b/sourcecodes/parameter_learning/drawFigure.m
@@ -123,7 +123,8 @@ for i = 1:nnodes,
         fprintf(fileID,format,num_child(i),children(1,:));
     end
     
-    predict = marginal_nodes(engine,i);
+%    predict = marginal_nodes(engine,i);
+    predict = marginal_nodes_no_ev(bnet,engine,i);
     if bnet.node_sizes(i) ~= 1,
         for j = 1:bnet.node_sizes(i),
             %%%For discrete nodes, the state and the percent of that state
diff --git a/sourcecodes/parameter_learning/kfoldCrossValid.m b/sourcecodes/parameter_learning/kfoldCrossValid.m
new file mode 100644
index 00000000..6306c511
--- /dev/null
+++ b/sourcecodes/parameter_learning/kfoldCrossValid.m
@@ -0,0 +1,322 @@
+function kfoldCrossValid(pre,predict_label,nfolds)
+% This function will peform k-fold cross-validation.
+% This requires the specification of the name of the variable
+%   that you want to predict and the number of folds that the
+%   data should be divided into.
+
+nfolds = uint8(str2num(nfolds));
+
+sfile=strcat(pre,'structure_input.txt');
+dfile=strcat(pre,'continuous_input.txt');
+nnodefile=strcat(pre,'nnode.txt');
+fnnode = fopen(nnodefile,'r');
+nnodes = fscanf(fnnode,'%d');
+
+Std_flag=true;
+[labels,cases,bnet]=readInput(dfile,sfile,nnodes,Std_flag);
+
+for i=1:nnodes
+    if strcmp(labels(i),predict_label)
+       predict_node = i;
+    end
+end
+
+predict_cases = bnet.node_sizes(predict_node);
+
+ncases = size(cases,2);
+
+kfold_index = kfold_bin(ncases,nfolds);
+
+if predict_cases == 1
+	kfoldCV_continuous(pre,predict_label,nnodes,labels,cases,bnet,predict_node,predict_cases,nfolds,kfold_index);
+else
+	kfoldCV_discrete(pre,predict_label,nnodes,labels,cases,bnet,predict_node,predict_cases,nfolds,kfold_index);
+endif
+
+
+end
+
+
+function kfoldCV_continuous(pre,predict_label,nnodes,labels,cases,bnet,predict_node,predict_cases,nfolds,kfold_index)
+
+ncases = size(cases,2);
+
+%%Read in original means and standard deviations to report output as
+%% untransformed values.
+means_orig=cell(1,nnodes);
+stdevs_orig=cell(1,nnodes);
+labels_orig=cell(1,nnodes);
+%Read in original means and standard deviations
+mapfile = strcat(pre,'map.txt');
+fmap = fopen(mapfile,'r');
+for i=1:nnodes
+    buffer = fgetl(mapfile);
+    temp = cell(1,3);
+    for j=1:3
+        [next,buffer] = strtok(buffer);
+	temp{j} = next;
+    end
+    labels_orig{i} = temp{1};
+    means_orig{i} = str2num(temp{3});
+    stdevs_orig{i} = str2num(temp{2});
+end
+fclose(fmap);
+%Need to map the means and stdevs to the correct labels
+means = cell(1,nnodes);
+stdevs = cell(1,nnodes);
+for i = 1:nnodes
+    for j = 1:nnodes
+       if strcmp(labels{i},labels_orig{j})
+          means{i} = means_orig{j};
+          stdevs{i} = stdevs_orig{j};
+          break
+       end
+    end
+end
+
+kfoldPredictions=zeros(size(cases,2),2);
+
+
+%t=cputime;
+%First get predictions
+for i =1:nfolds
+%  i
+  test_flag = false(ncases,1);
+  for j=1:ncases
+    if kfold_index(j) == i
+         test_flag(j) = true;
+    end
+  end
+ trainData = cases(:,~test_flag);
+ testData = cases(:,test_flag);
+ temp_index = zeros(size(testData,2),1);
+ temp = 1;
+ for j=1:ncases
+    if kfold_index(j) == i
+       temp_index(temp) = j;
+       temp = temp + 1;
+    end
+ end
+ [bnet] = parameterLearning(bnet,trainData);
+ for j=1:size(testData,2)
+  evidence = testData(:,j);
+  evidence{predict_node} = {};
+  engine = jtree_inf_engine(bnet);
+  [engine,loglik] = enter_evidence(engine,evidence);
+  predict = marginal_nodes(engine,predict_node);
+  adj_mu = predict.mu*stdevs{predict_node}+means{predict_node};
+  adj_sigma = stdevs{predict_node}*predict.Sigma;
+  kfoldPredictions(temp_index(j),1) = adj_mu;
+  kfoldPredictions(temp_index(j),2) = adj_sigma;
+ end
+end
+%e=cputime-t;
+
+
+%Open output file.
+filename = strcat(pre,'kfoldCV.txt');
+fileID = fopen(filename,'w');
+
+fprintf(fileID,'Variable that was predicted: %s\n\n',predict_label);
+
+%Calculate RMSEP (root mean square error of prediction) and q^2
+%First, calculate TSS (total sum of squares) and
+%  PRESS (sum of squares of prediction errors)
+average = mean(cell2mat(cases'))(predict_node);
+%undo standardization
+average = average*stdevs{predict_node}+means{predict_node};
+tss = 0;
+press = 0;
+case_adj=zeros(size(cases,2),1);
+for i =1:ncases
+	case_adj(i) = cases{predict_node,i}*stdevs{predict_node}+means{predict_node};
+	tss = (case_adj(i)-average)^2 + tss;
+	press = (kfoldPredictions(i,1)-case_adj(i))^2 + press;
+end
+rmsep = sqrt(press/ncases);
+q_squared = 1 - press/tss;
+
+%% Print rmseq and q^2
+fprintf(fileID,'RMS error of predictions: %6.4f\n',rmsep);
+fprintf(fileID,'Q^2 of predictions: %6.4f\n\n',q_squared);
+
+
+%%Print the predictions
+fprintf(fileID,'Predicted mean and standard deviation for each case:\n');
+fprintf(fileID,'CaseRow\tFoldNumber\tActualValue\tPredictionMean\tPredictionStDev\n');
+for i = 1:ncases
+     fprintf(fileID,'%i\t%i\t%6.4f\t',i,kfold_index(i),case_adj(i));
+     fprintf(fileID,'%6.4f\t%6.4f\n',kfoldPredictions(i,:));
+end
+
+end
+
+
+function kfoldCV_discrete(pre,predict_label,nnodes,labels,cases,bnet,predict_node,predict_cases,nfolds,kfold_index)
+
+ncases = size(cases,2);
+
+%This next section just gets the original names of the levels.
+% so they can be written to the output file.
+%%Get the maximum_number of states so array will be big enough
+%%Add 1 because the input includes the node name
+max_states = max(bnet.node_sizes) + 1;
+disc_nodes = size(bnet.dnodes,2);
+
+%%Get mapping of discrete levels.
+levelfile = strcat(pre,'nlevels.txt');
+flevels = fopen(levelfile,'r');
+levels = cell(disc_nodes,max_states);
+ndisc_nodes = 0;
+for i=1:disc_nodes
+    ndisc_nodes = ndisc_nodes + 1;
+    buffer = fgetl(flevels);
+     for j = 1:max_states
+       [next,buffer] = strtok(buffer);
+       if j == 1
+          levels{i,j} = next;
+       else
+          levels{i,j} = next;
+       end
+       if length(buffer) < 1
+        break
+       end
+     end
+end
+
+pred_levels = cell(1,predict_cases);
+for i = 1:disc_nodes
+   if strcmp(levels{i,1},predict_label);
+	for j = 1:predict_cases
+	    pred_levels{j} = levels{i,j+1};
+	end
+        break
+   end
+end
+
+kfoldPredictions=zeros(size(cases,2),predict_cases);
+
+%t=cputime;
+%First get kfold CV predictions
+for i =1:nfolds
+  test_flag = false(ncases,1);
+  for j=1:ncases
+     if kfold_index(j) == i
+         test_flag(j) = true;
+     end
+  end
+  trainData = cases(:,~test_flag);
+  testData = cases(:,test_flag);
+  temp_index = zeros(size(testData,2),1);
+  temp = 1;
+  for j =1:ncases
+      if kfold_index(j) == i
+         temp_index(temp) = j;
+         temp = temp + 1;
+      end
+  end
+  [bnet] = parameterLearning(bnet,trainData);
+  for j = 1:size(testData,2)
+    evidence = testData(:,j);
+    evidence{predict_node} = {};
+    engine = jtree_inf_engine(bnet);
+    [engine,loglik] = enter_evidence(engine,evidence);
+    predict = marginal_nodes(engine,predict_node);
+    for k = 1:predict_cases
+	kfoldPredictions(temp_index(j),k) = predict.T(k);
+    end
+  end
+end
+%e=cputime-t;
+
+%Now compare with actual outcomes
+%actual_states = zeros(1,predict_cases);
+%for i=1:ncases
+%    for j = 1:predict_cases
+%	if cell2mat(cases(predict_node,i)) == j
+%           actual_states(j) = actual_states(j) + 1;
+%	end
+%    end
+%end
+
+pred_states = zeros(1,ncases);
+
+for i=1:ncases
+    max_state = 1;
+    for j = 2:predict_cases
+       if kfoldPredictions(i,j) > kfoldPredictions(i,max_state)
+           max_state = j;
+	end
+    end
+    pred_states(i) = max_state;
+end
+
+correct = 0;
+for i=1:ncases
+    if pred_states(i) == cell2mat(cases(predict_node,i))
+	correct = correct + 1;
+    end
+end
+
+accuracy = correct/ncases;
+
+%Open output file.
+filename = strcat(pre,'kfoldCV.txt');
+fileID = fopen(filename,'w');
+
+fprintf(fileID,'Variable that was predicted: %s\n\n',predict_label);
+
+
+%%Print the accuracy
+fprintf(fileID,'Fraction of accurate predictions: %6.4f\n\n',accuracy);
+
+%%Print the predictions
+fprintf(fileID,'Predicted likelihood of each state for each case:\n');
+fprintf(fileID,'%s\t%s\t%s\t','CaseRow','FoldNumber','ActualState');
+fprintf(fileID,'%s\t',pred_levels{1:end-1});
+fprintf(fileID,'%s\n',pred_levels{end});
+for i = 1:ncases
+     fprintf(fileID,'%i\t%i\t',i,kfold_index(i));
+     case_level = pred_levels{cases{predict_node,i}};
+     fprintf(fileID,'%s\t',case_level);
+     fprintf(fileID,'%6.4f\t',kfoldPredictions(i,1:end-1));
+     fprintf(fileID,'%6.4f\n',kfoldPredictions(i,end));
+end
+
+end
+
+
+function [kfold_index] = kfold_bin(ncases,nfolds);
+%This returns indexes for the different cases to separate data into folds.
+
+%Get array with random permutation of the number of cases
+p = randperm(ncases);
+
+base_size = idivide(ncases,nfolds);
+remainder = rem(ncases,nfolds);
+
+kfold_index = zeros(ncases,1);
+group = 1;
+count = 0;
+for i=1:ncases
+    count = count + 1;
+    kfold_index(p(i)) = group;
+%Need to do some checks if groups cannot be exactly equally sized
+%If you have already added an extra member to the group, go to next group
+    if count > base_size
+       count = 0;
+       group = group + 1;
+%If you have filled the group, check if an extra is needed
+     elseif count == base_size
+       if remainder > 0
+         remainder = remainder - 1;
+       else
+         count = 0;
+         group = group + 1;
+       end
+     end
+end
+
+
+end
+
diff --git a/sourcecodes/parameter_learning/looCrossValid.m b/sourcecodes/parameter_learning/looCrossValid.m
new file mode 100644
index 00000000..67b04409
--- /dev/null
+++ b/sourcecodes/parameter_learning/looCrossValid.m
@@ -0,0 +1,250 @@
+function looCrossValid(pre,predict_label)
+% This function will peform leave-one-out cross-validation.
+% This requires the specification of the name of the variable
+%   that you want to predict.
+
+
+
+sfile=strcat(pre,'structure_input.txt');
+dfile=strcat(pre,'continuous_input.txt');
+nnodefile=strcat(pre,'nnode.txt');
+fnnode = fopen(nnodefile,'r');
+nnodes = fscanf(fnnode,'%d');
+
+Std_flag=true;
+[labels,cases,bnet]=readInput(dfile,sfile,nnodes,Std_flag);
+
+for i=1:nnodes
+    if strcmp(labels(i),predict_label)
+       predict_node = i;
+    end
+end
+
+predict_cases = bnet.node_sizes(predict_node);
+
+if predict_cases == 1
+	looCV_continuous(pre,predict_label,nnodes,labels,cases,bnet,predict_node,predict_cases);
+else
+	looCV_discrete(pre,predict_label,nnodes,labels,cases,bnet,predict_node,predict_cases);
+endif
+
+end
+
+function looCV_continuous(pre,predict_label,nnodes,labels,cases,bnet,predict_node,predict_cases)
+
+ncases = size(cases,2);
+
+%%Read in original means and standard deviations to report output as
+%% untransformed values.
+means_orig=cell(1,nnodes);
+stdevs_orig=cell(1,nnodes);
+labels_orig=cell(1,nnodes);
+%Read in original means and standard deviations
+mapfile = strcat(pre,'map.txt');
+fmap = fopen(mapfile,'r');
+for i=1:nnodes
+    buffer = fgetl(mapfile);
+    temp = cell(1,3);
+    for j=1:3
+        [next,buffer] = strtok(buffer);
+	temp{j} = next;
+    end
+    labels_orig{i} = temp{1};
+    means_orig{i} = str2num(temp{3});
+    stdevs_orig{i} = str2num(temp{2});
+end
+fclose(fmap);
+%Need to map the means and stdevs to the correct labels
+means = cell(1,nnodes);
+stdevs = cell(1,nnodes);
+for i = 1:nnodes
+    for j = 1:nnodes
+       if strcmp(labels{i},labels_orig{j})
+          means{i} = means_orig{j};
+          stdevs{i} = stdevs_orig{j};
+          break
+       end
+    end
+end
+
+loopredictions=zeros(size(cases,2),2);
+
+%t=cputime;
+%First get loo predictions
+for i =1:ncases
+%  i
+  current_data = cases(:,i);
+  cases_new = cases;
+  cases_new(:,i) = [];
+  evidence = current_data;
+  evidence{predict_node} = {};
+  [bnet]=parameterLearning(bnet,cases_new);
+  engine = jtree_inf_engine(bnet);
+  [engine,loglik] = enter_evidence(engine,evidence);
+  predict = marginal_nodes(engine,predict_node);
+  adj_mu = predict.mu*stdevs{predict_node}+means{predict_node};
+  adj_sigma = stdevs{predict_node}*predict.Sigma;
+  loopredictions(i,1) = adj_mu;
+  loopredictions(i,2) = adj_sigma;
+end
+%e=cputime-t;
+
+%Open output file.
+filename = strcat(pre,'looCV.txt');
+fileID = fopen(filename,'w');
+
+fprintf(fileID,'Variable that was predicted: %s\n\n',predict_label);
+
+%Calculate RMSEP (root mean square error of prediction) and q^2
+%First, calculate TSS (total sum of squares) and
+%  PRESS (sum of squares of prediction errors)
+average = mean(cell2mat(cases'))(predict_node);
+
+%undo standardization
+average = average*stdevs{predict_node}+means{predict_node};
+tss = 0;
+press = 0;
+case_adj=zeros(size(cases,2),1);
+for i =1:ncases
+	case_adj(i) = cases{predict_node,i}*stdevs{predict_node}+means{predict_node};
+	tss = (case_adj(i)-average)^2 + tss;
+	press = (loopredictions(i,1)-case_adj(i))^2 + press;
+end
+rmsep = sqrt(press/ncases);
+q_squared = 1 - press/tss;
+
+%% Print rmseq and q^2
+fprintf(fileID,'RMS error of predictions: %6.4f\n',rmsep);
+fprintf(fileID,'Q^2 of predictions: %6.4f\n\n',q_squared);
+
+
+%%Print the predictions
+fprintf(fileID,'Predicted mean and standard deviation for each case:\n');
+fprintf(fileID,'CaseRow\tActualValue\tPredictionMean\tPredictionStDev\n');
+for i = 1:ncases
+     fprintf(fileID,'%i\t%6.4f\t',i,case_adj(i));
+     fprintf(fileID,'%6.4f\t%6.4f\n',loopredictions(i,:));
+end
+
+end
+
+
+function looCV_discrete(pre,predict_label,nnodes,labels,cases,bnet,predict_node,predict_cases)
+
+ncases = size(cases,2);
+
+%This next section just gets the original names of the levels.
+% so they can be written to the output file.
+%%Get the maximum_number of states so array will be big enough
+%%Add 1 because the input includes the node name
+max_states = max(bnet.node_sizes) + 1;
+disc_nodes = size(bnet.dnodes,2);
+
+%%Get mapping of discrete levels.
+levelfile = strcat(pre,'nlevels.txt');
+flevels = fopen(levelfile,'r');
+levels = cell(disc_nodes,max_states);
+ndisc_nodes = 0;
+for i=1:disc_nodes
+    ndisc_nodes = ndisc_nodes + 1;
+    buffer = fgetl(flevels);
+     for j = 1:max_states
+       [next,buffer] = strtok(buffer);
+       if j == 1
+          levels{i,j} = next;
+       else
+          levels{i,j} = next;
+       end
+       if length(buffer) < 1
+        break
+       end
+     end
+end
+
+pred_levels = cell(1,predict_cases);
+for i = 1:disc_nodes
+   if strcmp(levels{i,1},predict_label);
+	for j = 1:predict_cases
+	    pred_levels{j} = levels{i,j+1};
+	end
+        break
+   end
+end
+
+loopredictions=zeros(size(cases,2),predict_cases);
+
+%t=cputime;
+%First get loo predictions
+for i =1:ncases
+%  i
+  current_data = cases(:,i);
+  cases_new = cases;
+  cases_new(:,i) = [];
+  evidence = current_data;
+  evidence{predict_node} = {};
+
+  [bnet]=parameterLearning(bnet,cases_new);
+  engine = jtree_inf_engine(bnet);
+  [engine,loglik] = enter_evidence(engine,evidence);
+  predict = marginal_nodes(engine,predict_node);
+  for j = 1:predict_cases
+	loopredictions(i,j) = predict.T(j);
+  end
+end
+%e=cputime-t;
+
+%Now compare with actual outcomes
+%actual_states = zeros(1,predict_cases);
+%for i=1:ncases
+%    for j = 1:predict_cases
+%	if cell2mat(cases(predict_node,i)) == j
+%           actual_states(j) = actual_states(j) + 1;
+%	end
+%    end
+%end
+
+pred_states = zeros(1,ncases);
+
+for i=1:ncases
+    max_state = 1;
+    for j = 2:predict_cases
+       if loopredictions(i,j) > loopredictions(i,max_state)
+           max_state = j;
+	end
+    end
+    pred_states(i) = max_state;
+end
+
+correct = 0;
+for i=1:ncases
+    if pred_states(i) == cell2mat(cases(predict_node,i))
+	correct = correct + 1;
+    end
+end
+
+accuracy = correct/ncases;
+
+%Open output file.
+filename = strcat(pre,'looCV.txt');
+fileID = fopen(filename,'w');
+
+fprintf(fileID,'Variable that was predicted: %s\n\n',predict_label);
+
+
+%%Print the accuracy
+fprintf(fileID,'Fraction of accurate predictions: %6.4f\n\n',accuracy);
+
+%%Print the predictions
+fprintf(fileID,'Predicted likelihood of each state for each case:\n');
+fprintf(fileID,'%s\t%s\t','CaseRow','ActualState');
+fprintf(fileID,'%s\t',pred_levels{1:end-1});
+fprintf(fileID,'%s\n',pred_levels{end});
+for i = 1:ncases
+     fprintf(fileID,'%i\t',i);
+     case_level = pred_levels{cases{predict_node,i}};
+     fprintf(fileID,'%s\t',case_level);
+     fprintf(fileID,'%6.4f\t',loopredictions(i,1:end-1));
+     fprintf(fileID,'%6.4f\n',loopredictions(i,end));
+end
+
+end
diff --git a/sourcecodes/parameter_learning/parameterLearning.m b/sourcecodes/parameter_learning/parameterLearning.m
index 3ef6c0b3..2c4a1f9f 100644
--- a/sourcecodes/parameter_learning/parameterLearning.m
+++ b/sourcecodes/parameter_learning/parameterLearning.m
@@ -4,7 +4,7 @@ function [ bnet ] = parameterLearning( bnet,cases,engine_name )
 % 
 % This is very basic now. It could be modified to use different engine
 %  types in the future. Now, I always use the 'jtree_inf_engine'.
-% 
+%  with dirichlet priors
 %
 % parameterLearning is called by runBN_initial.m, 
 %   Predictmultiple.m, and Predictmultipleintervention.m
@@ -35,7 +35,8 @@ nnodes = size(dnodes,2)+size(cnodes,2);
 
 %make dnodes tabular_CPT
 for i = 1:size(dnodes,2)
-    bnet.CPD{dnodes(i)} = tabular_CPD(bnet,dnodes(i));
+%    bnet.CPD{dnodes(i)} = tabular_CPD(bnet,dnodes(i));
+    bnet.CPD{dnodes(i)} = tabular_CPD(bnet,dnodes(i),'prior_type','dirichlet');
 end
 
 for i = 1:size(cnodes,2)
diff --git a/sourcecodes/parameter_learning/prepareInput.m b/sourcecodes/parameter_learning/prepareInput.m
index 84d2ae17..5268f872 100644
--- a/sourcecodes/parameter_learning/prepareInput.m
+++ b/sourcecodes/parameter_learning/prepareInput.m
@@ -274,7 +274,7 @@ for i = 1:nnodes
     if levels{i} > 1
 	for j = 1:ncases
             for k=1:size(states{i},1)
-	      if data{j,i} == states{i}{k}
+	      if strcmp(data{j,i},states{i}{k})
                  data{j,i} = sprintf('%i',num2cell(k){1});;
                  break
               end
diff --git a/sourcecodes/parameter_learning/testSetPredictions.m b/sourcecodes/parameter_learning/testSetPredictions.m
new file mode 100644
index 00000000..0fff197d
--- /dev/null
+++ b/sourcecodes/parameter_learning/testSetPredictions.m
@@ -0,0 +1,361 @@
+function  [ ] = testSetPredictions( pre )
+   %   
+   %  This function will make predictions for the cases included
+   %   in the uploaded data file.
+   %      
+   %
+   %  Input: ???ts_input.txt
+   %    This is the input file that is uploaded to BNW.
+   %    It is directly written out by the BNW php code with no modification.
+   %    The file format is a header line containing the variable that you want to predict.
+   %     Then, there is a second header line with the variable names
+   %     Finally, the file contains the data, with each case in a row.
+   %     If there is missing data, an "NA" should be entered.
+   %
+   %  Output: ???ts_output.txt
+   %
+   % It is called by the run_test_set script in the 'sourcecodes' directory.
+
+
+%  open file for input, include error handling
+dfile=strcat(pre,'ts_upload.txt');
+
+fin = fopen(dfile,'r');
+if fin < 0
+   error(['Could not open ',dfile,' for input']);
+end
+
+% Get the number of cases (the number of rows in the file excluding the header)
+ntestcases = fskipl(fin,Inf) - 2;
+
+frewind(fin);
+
+
+
+% Read in first line to get the node label of the variable that should be predicted.
+buffer = fgetl(fin);
+[predict_label,buffer] = strtok(buffer);
+
+% Read in second line to get the number of nodes and the node labels.
+buffer = fgetl(fin);    %get header line as a string
+nnodes = numel(strfind(buffer,"\t")) + 1;
+labels_test = cell(1,nnodes);
+for j=1:nnodes
+    [next,buffer] = strtok(buffer);
+    labels_test{j} = next;
+end
+
+% Read in the test_data
+data_test_temp = cell(ntestcases,nnodes);
+for i = 1:ntestcases
+    buffer = fgetl(fin);
+    for j = 1:nnodes
+         [next,buffer] = strtok(buffer);
+         data_test_temp{i,j} = next;
+    end
+end
+
+
+% Read in the training (original) data and network structure.
+sfile=strcat(pre,'structure_input.txt');
+dfile=strcat(pre,'continuous_input.txt');
+nnodefile=strcat(pre,'nnode.txt');
+fnnode = fopen(nnodefile,'r');
+nnodes = fscanf(fnnode,'%d');
+
+Std_flag=true;
+[labels,cases,bnet]=readInput(dfile,sfile,nnodes,Std_flag);
+[bnet] = parameterLearning(bnet,cases);
+
+%Get node id in actual network for variable to be predicted
+for i=1:nnodes
+   if strcmp(labels(i),predict_label)
+	predict_node = i;
+   end
+end
+
+%Reformat test data so the columns match bnet structure
+label_map = cell(2,nnodes);
+for i=1:nnodes
+    label_map{1,i} = labels_test{i};
+    for j=1:nnodes
+	if strcmp(labels_test(i),labels(j))
+		label_map{2,i} = j;
+		break
+	end
+     end
+end
+
+
+data_test = cell(ntestcases,nnodes);
+for i=1:nnodes
+   data_test(:,label_map{2,i}) = data_test_temp(:,i);
+end
+
+%%Read in training data means and standard deviations
+means_orig=cell(1,nnodes);
+stdevs_orig=cell(1,nnodes);
+labels_orig=cell(1,nnodes);
+%Read in original means and standard deviations
+mapfile = strcat(pre,'map.txt');
+fmap = fopen(mapfile,'r');
+for i=1:nnodes
+    buffer = fgetl(mapfile);
+    temp = cell(1,3);
+    for j=1:3
+        [next,buffer] = strtok(buffer);
+        temp{j} = next;
+    end
+    labels_orig{i} = temp{1};
+    means_orig{i} = str2num(temp{3});
+    stdevs_orig{i} = str2num(temp{2});
+end
+fclose(fmap);
+%Need to map the means and stdevs to the correct labels
+means = cell(1,nnodes);
+stdevs = cell(1,nnodes);
+for i = 1:nnodes
+    for j = 1:nnodes
+       if strcmp(labels{i},labels_orig{j})
+          means{i} = means_orig{j};
+          stdevs{i} = stdevs_orig{j};
+          break
+       end
+    end
+end
+
+%Get mapping of discrete levels.
+max_states = max(bnet.node_sizes) + 1;
+disc_nodes = size(bnet.dnodes,2);
+levelfile = strcat(pre,'nlevels.txt');
+flevels = fopen(levelfile,'r');
+levels = cell(disc_nodes,max_states);
+ndisc_nodes = 0;
+for i=1:disc_nodes
+    ndisc_nodes = ndisc_nodes + 1;
+    buffer = fgetl(flevels);
+     for j = 1:max_states
+       [next,buffer] = strtok(buffer);
+       if j == 1
+          levels{i,j} = next;
+       else
+          levels{i,j} = next;
+       end
+       if length(buffer) < 1
+        break
+       end
+     end
+end
+
+%Standardize continuous data and map data to levels.
+for i=1:nnodes
+  if bnet.node_sizes(i) == 1
+    for j=1:ntestcases
+	if !strcmp(data_test{j,i},"NA")
+          data_test{j,i} = (str2num(data_test{j,i}) - means{i})/stdevs{i};
+        end
+     end
+  else
+     for j=1:ntestcases
+	labels{i}
+        if !strcmp(data_test{j,i},"NA")
+	    for jj = 1:size(levels,1)
+		if strcmp(labels{i},levels{jj,1})
+		   break
+                endif
+            end
+	    for k = 1:bnet.node_sizes(i)
+               if strcmp(data_test{j,i},levels{jj,k+1})
+                 data_test{j,i} = k;
+               end
+            end
+        end
+     end
+end
+end
+
+
+%Now make predictions
+predict_cases = bnet.node_sizes(predict_node);
+
+if predict_cases == 1
+      ts_continuous(pre,bnet,nnodes,predict_label,predict_node,data_test,means,stdevs)
+else
+      pred_levels = cell(1,predict_cases);
+      for i = 1:disc_nodes
+	if strcmp(levels{i,1},predict_label);
+            for j = 1:predict_cases
+                pred_levels{j} = levels{i,j+1};
+	    end
+            break
+         end
+      end
+      ts_discrete(pre,bnet,nnodes,predict_label,predict_node,data_test,pred_levels,predict_cases)
+end
+
+%delete(dfile)
+
+end
+
+function ts_continuous(pre,bnet,nnodes,predict_label,predict_node,data_test,means,stdevs)
+
+ntestcases = size(data_test,1);
+
+predictions = zeros(ntestcases,2);
+
+for i = 1:ntestcases
+   evidence = data_test(i,:);
+   evidence{predict_node} = {};
+   for j=1:nnodes
+      if strcmp(evidence{j},"NA")
+          evidence{j} = {};
+      end
+   end
+   engine = jtree_inf_engine(bnet);
+   [engine,loglik] = enter_evidence(engine,evidence);
+   predict = marginal_nodes(engine,predict_node);
+   adj_mu = predict.mu*stdevs{predict_node}+means{predict_node};
+   adj_sigma = stdevs{predict_node}*predict.Sigma;
+   predictions(i,1) = adj_mu;
+   predictions(i,2) = adj_sigma;
+end
+
+%Open output file.
+filename = strcat(pre,'ts_output.txt');
+fileID = fopen(filename,'w');
+
+fprintf(fileID,'Variable that was predicted: %s\n\n',predict_label);
+
+
+%Calculate RMSEP (root mean square error of prediction) and q^2
+%First, calculate TSS (total sum of squares) and
+%  PRESS (sum of squares of prediction errors)
+%Get rid of 'NA' data for predicted data.
+actual_values = [];
+predictions_removeNA = [];
+for i=1:ntestcases
+   if !strcmp(data_test(i,predict_node),'NA')
+        actual_values = [actual_values, cell2num(data_test(i,predict_node))]
+	predictions_removeNA = [predictions_removeNA,predictions(i,1)]
+   end
+end
+
+size(actual_values)
+size(predictions_removeNA)
+
+average = mean(actual_values);
+average = average*stdevs{predict_node}+means{predict_node};
+tss = 0;
+press = 0;
+for i=1:length(actual_values)
+	actual_values(i) = actual_values(i)*stdevs{predict_node}+means{predict_node};
+	tss = (actual_values(i)-average)^2 + tss;
+	press = (predictions_removeNA(i)-actual_values(i))^2 + press;
+end
+rmsep = sqrt(press/length(actual_values));
+q_squared = 1 - press/tss;
+
+%% Print rmseq and q^2
+fprintf(fileID,'RMS error of predictions: %6.4f\n',rmsep);
+fprintf(fileID,'Q^2 of predictions: %6.4f\n\n',q_squared);
+
+
+%%Print the predictions
+fprintf(fileID,'Predicted mean and standard deviation for each case:\n');
+fprintf(fileID,'CaseRow\tActualValue\tPredictionMean\tPredictionStDev\n');
+for i = 1:ntestcases
+     if strcmp(data_test{i,predict_node},"NA")
+	fprintf(fileID,'%i\t%s\t',i,data_test{i,predict_node});
+     else
+        temp = data_test{i,predict_node}*stdevs{predict_node}+means{predict_node};
+	fprintf(fileID,'%i\t%6.4f\t',i,temp);
+     end
+     fprintf(fileID,'%6.4f\t%6.4f\n',predictions(i,:));
+end
+
+
+end
+
+function ts_discrete(pre,bnet,nnodes,predict_label,predict_node,data_test,pred_levels,predict_cases)
+
+ntestcases = size(data_test,1);
+
+predictions=zeros(ntestcases,predict_cases);
+
+for i = 1:ntestcases
+   evidence = data_test(i,:);
+   evidence{predict_node} = {};
+   for j=1:nnodes
+      if strcmp(evidence{j},"NA")
+          evidence{j} = {};
+      end
+   end
+   engine = jtree_inf_engine(bnet);
+   [engine,loglik] = enter_evidence(engine,evidence);
+   predict = marginal_nodes(engine,predict_node);
+   for j = 1:predict_cases
+         predictions(i,j) = predict.T(j);
+   end
+end
+
+
+pred_states = [];
+for i=1:ntestcases
+   if !strcmp(data_test(i,predict_node),'NA')
+       max_state = 1;
+       for j = 2:predict_cases
+          if predictions(i,j) > predictions(i,max_state)
+             max_state = j;
+          end
+       end
+       pred_states = [pred_states,max_state];
+    end
+end
+
+
+correct = 0;
+j = 0;
+for i=1:ntestcases
+   if !strcmp(data_test(i,predict_node),'NA')
+	j = j + 1;
+	if pred_states(j) == cell2mat(data_test(i,predict_node))
+            correct = correct + 1;
+        end
+   end
+end
+
+accuracy = correct/length(pred_states);
+
+
+%Open output file.
+filename = strcat(pre,'ts_output.txt');
+fileID = fopen(filename,'w');
+
+fprintf(fileID,'Variable that was predicted: %s\n\n',predict_label);
+
+%%Print the accuracy
+fprintf(fileID,'Fraction of accurate predictions: %6.4f\n\n',accuracy);
+
+%%Print the predictions
+fprintf(fileID,'Predicted likelihood of each state for each case:\n');
+fprintf(fileID,'%s\t%s\t','CaseRow','ActualState');
+fprintf(fileID,'%s\t',pred_levels{1:end-1});
+fprintf(fileID,'%s\n',pred_levels{end});
+for i = 1:ntestcases
+     fprintf(fileID,'%i\t',i);
+     if strcmp(data_test{i,predict_node},"NA")
+	fprintf(fileID,'%s\t',data_test{i,predict_node});
+     else
+	case_level = pred_levels{data_test{i,predict_node}};
+	fprintf(fileID,'%s\t',case_level);
+     end
+     fprintf(fileID,'%6.4f\t',predictions(i,1:end-1));
+     fprintf(fileID,'%6.4f\n',predictions(i,end));
+end
+
+
+
+
+
+end
+
diff --git a/sourcecodes/parameter_learning/writeParameters.m b/sourcecodes/parameter_learning/writeParameters.m
index 42b2a4ef..6efafe8a 100644
--- a/sourcecodes/parameter_learning/writeParameters.m
+++ b/sourcecodes/parameter_learning/writeParameters.m
@@ -70,7 +70,8 @@ for i = 1:nnodes
             break
         end
     end
-    predict = marginal_nodes(engine,nodeid);
+%    predict = marginal_nodes(engine,nodeid);
+    predict = marginal_nodes_no_ev(bnet,engine,nodeid);
     %%%Print the name of the node
     fprintf(fileID,'%s\n',labels{nodeid});
     %%%Print the type of node
diff --git a/sourcecodes/run_kfold b/sourcecodes/run_kfold
new file mode 100644
index 00000000..ad87b5d1
--- /dev/null
+++ b/sourcecodes/run_kfold
@@ -0,0 +1,14 @@
+#!/usr/bin/octave -qf
+cd ./data
+arg_list = argv(); 
+addpath("../bnt-master");
+addpath(genpathKPM("../bnt-master"));
+addpath("../parameter_learning");
+filename=strcat(arg_list{1},"kfoldCV.txt");
+delete(filename);
+filename=strcat(arg_list{1},"kfoldCV_temp.txt");
+fout_temp=fopen(filename,'w');
+fprintf(fout_temp,arg_list{2});
+kfoldCrossValid(arg_list{1},arg_list{2},arg_list{3});
+fclose(fout_temp);
+delete(filename);
\ No newline at end of file
diff --git a/sourcecodes/run_loo b/sourcecodes/run_loo
new file mode 100644
index 00000000..8c164651
--- /dev/null
+++ b/sourcecodes/run_loo
@@ -0,0 +1,14 @@
+#!/usr/bin/octave -qf
+cd ./data
+arg_list = argv(); 
+addpath("../bnt-master");
+addpath(genpathKPM("../bnt-master"));
+addpath("../parameter_learning");
+filename=strcat(arg_list{1},"looCV.txt");
+delete(filename);
+filename=strcat(arg_list{1},"looCV_temp.txt");
+fout_temp=fopen(filename,'w');
+fprintf(fout_temp,arg_list{2});
+looCrossValid(arg_list{1},arg_list{2});
+fclose(fout_temp);
+delete(filename);
\ No newline at end of file
diff --git a/sourcecodes/run_test_set b/sourcecodes/run_test_set
new file mode 100644
index 00000000..503032f0
--- /dev/null
+++ b/sourcecodes/run_test_set
@@ -0,0 +1,11 @@
+#!/usr/bin/octave -qf
+cd ./data
+arg_list = argv(); 
+addpath("../bnt-master");
+addpath(genpathKPM("../bnt-master"));
+addpath("../parameter_learning");
+filename=strcat(arg_list{1},"ts_output.txt");
+delete(filename);
+testSetPredictions(arg_list{1});
+filename=strcat(arg_list{1},"ts_upload.txt");
+delete(filename);
\ No newline at end of file
diff --git a/sourcecodes/test_set_predictions.php b/sourcecodes/test_set_predictions.php
new file mode 100644
index 00000000..b6a1df80
--- /dev/null
+++ b/sourcecodes/test_set_predictions.php
@@ -0,0 +1,158 @@
+<?php 
+include("header_new.inc");
+include("header_batchsearch.inc");
+include("input_validate.php");
+if($_GET["My_key"]!="")
+  $keyval=valid_keyval($_GET["My_key"]);
+if($_POST["My_key"]!="")
+  $keyval=valid_keyval($_POST["My_key"]);
+$searchID="";
+$UploadValue="NO";
+$TextFile=$HTTP_POST_FILES["MyFile"]["name"];
+$TextinFile="./data/".$keyval."ts_upload.txt";
+?>
+
+<?php
+if(isset($HTTP_POST_VARS["searchkey"]))
+  {
+    $searchID=$HTTP_POST_VARS["searchkey"];
+
+  }
+
+if(isset($HTTP_POST_VARS["MyUpload"]))
+  {
+    $UploadValue=$HTTP_POST_VARS["MyUpload"];
+    if ($UploadValue=="YES")
+      {
+        if($TextFile!="")
+	  {
+            $sta=move_uploaded_file($HTTP_POST_FILES['MyFile']['tmp_name'],$TextinFile);
+            if(!$sta)
+	      {
+                 echo "<script type='text/javascript'> window.alert ('Sorry, error uploading $TextFile.')</script>\
+";
+                 flush();
+                 exit();
+	      }
+            else
+	      {
+                $searchID=file_get_contents("$TextinFile");
+                //unlink($TextinFile);
+
+	      }
+
+	  }
+
+       else
+	 {
+           echo "<script type='text/javascript'> window.alert ('Sorry, please select upload file.')</script>";
+	 }
+      }
+  }
+
+
+?>
+
+<!-- Site navigation menu -->
+<ul class="navbar2">
+  <li><p>Network ID:<br><?php print($keyval);?></p></li>
+</ul>
+<ul class="navbar">
+  <li><a href="javascript:void(0);"
+  NAME="Network" title="Network" onClick=window.open("layout.php?My_key=<?php print($keyval);?>","_self");>Return to network</a>
+  <li><a href="javascript:void(0);"
+  NAME="CV_predictions" title="CV_pred" onClick=window.open("cv_predictions.php?My_key=<?php print($keyval);?>","_self");>Return to validation and predictions menu</a>
+  <li><a href="help.php">Help</a>
+  <li><a href="home.php">Home</a>
+</ul>
+
+<div id="outer">
+<!-- Main content -->
+
+<?php
+  $filename1="./data/".$keyval."ts_upload.txt";
+  $filename2="./data/".$keyval."ts_output.txt";
+if(file_exists($filename1))
+  {?>
+<br>
+Calculation submitted.
+<br>
+<a href="cv_predictions.php?My_key=<?php print($keyval);?>">Click to return to cross-validation and predictions menu</a>
+<br>
+<?php
+  }
+else if(file_exists($filename2))
+  {?>
+  <br>
+  <h2> <a href=<?php $d="./data/".$keyval."ts_output.txt"; print($d);?>>View predictions</a></h2>
+  <br>
+<h3>Make a new set of predictions by submitting data file below</h3>
+<FORM name="key_search" enctype="multipart/form-data" ACTION="test_set_predictions.php" METHOD=POST>
+<table>
+<tr>
+<td>
+<INPUT style="background-color:#FFFFFF;color:#0000FF" type="file" name="MyFile" size=45 >
+<INPUT TYPE="submit" value="  Submit  " onclick="return Upload();">
+<INPUT TYPE="hidden" NAME="My_key" value=<?php print($keyval) ?> >
+<INPUT TYPE="hidden" name="MyUpload" value="NO">
+</td>
+</tr>
+<tr>
+<!---
+<td align="left"><font color=#33339f><br>Content of uploaded data file:</font><br>
+     <textarea name="searchkey" rows="8" cols="100"><?PHP print($searchID)?> </textarea>
+</td>
+---!>
+</tr>
+</table>
+</FORM>
+</div>
+  <?php
+   } else {
+?>
+<h2>Make predictions of test data file</h2>
+  To make prediction for several test cases, upload a file containing the test cases.
+<br>
+<br>
+    <FORM name="key_search" enctype="multipart/form-data" ACTION="test_set_predictions.php" METHOD=POST>
+<table>
+<tr>
+<td>
+<INPUT style="background-color:#FFFFFF;color:#0000FF" type="file" name="MyFile" size=45 >
+<INPUT TYPE="submit" value="  Submit  " onclick="return Upload();">
+<INPUT TYPE="hidden" NAME="My_key" value=<?php print($keyval) ?> >
+<INPUT TYPE="hidden" name="MyUpload" value="NO">
+</td>
+</tr>
+<tr>
+<!---
+<td align="left"><font color=#33339f><br>Content of uploaded data file:</font><br>
+     <textarea name="searchkey" rows="8" cols="100"><?PHP print($searchID)?> </textarea>
+</td>
+---!>
+</tr>
+</table>
+</FORM>
+</div>
+<br>
+
+<?php
+}
+
+if($searchID!="")
+{
+  if($UploadValue=="NO")
+    {
+      $fpdata = fopen("./data/".$keyval."ts_input.txt","w");
+      fwrite($fpdata,$searchID);
+    }
+  $command = './run_test_set '.$keyval;
+  $output = shell_exec("$command > /dev/null 2 > /dev/null &");
+  $pred_link='cv_predictions.php?My_key='.$keyval;
+}
+?>
+
+</div>
+</body>
+
+
diff --git a/sourcecodes/test_set_predictions_example.php b/sourcecodes/test_set_predictions_example.php
new file mode 100644
index 00000000..bdaeb170
--- /dev/null
+++ b/sourcecodes/test_set_predictions_example.php
@@ -0,0 +1,158 @@
+<?php 
+include("header_new.inc");
+include("header_batchsearch.inc");
+include("input_validate.php");
+if($_GET["My_key"]!="")
+  $keyval=valid_keyval($_GET["My_key"]);
+if($_POST["My_key"]!="")
+  $keyval=valid_keyval($_POST["My_key"]);
+$searchID="";
+$UploadValue="NO";
+$TextFile=$HTTP_POST_FILES["MyFile"]["name"];
+$TextinFile="./data/".$keyval."ts_upload.txt";
+?>
+
+<?php
+if(isset($HTTP_POST_VARS["searchkey"]))
+  {
+    $searchID=$HTTP_POST_VARS["searchkey"];
+
+  }
+
+if(isset($HTTP_POST_VARS["MyUpload"]))
+  {
+    $UploadValue=$HTTP_POST_VARS["MyUpload"];
+    if ($UploadValue=="YES")
+      {
+        if($TextFile!="")
+	  {
+            $sta=move_uploaded_file($HTTP_POST_FILES['MyFile']['tmp_name'],$TextinFile);
+            if(!$sta)
+	      {
+                 echo "<script type='text/javascript'> window.alert ('Sorry, error uploading $TextFile.')</script>\
+";
+                 flush();
+                 exit();
+	      }
+            else
+	      {
+                $searchID=file_get_contents("$TextinFile");
+                //unlink($TextinFile);
+
+	      }
+
+	  }
+
+       else
+	 {
+           echo "<script type='text/javascript'> window.alert ('Sorry, please select upload file.')</script>";
+	 }
+      }
+  }
+
+
+?>
+
+<!-- Site navigation menu -->
+<ul class="navbar2">
+  <li><p>Network ID:<br><?php print($keyval);?></p></li>
+</ul>
+<ul class="navbar">
+  <li><a href="javascript:void(0);"
+  NAME="Network" title="Network" onClick=window.open("layout_example.php?My_key=<?php print($keyval);?>","_self");>Return to network</a>
+  <li><a href="javascript:void(0);"
+  NAME="CV_predictions" title="CV_pred" onClick=window.open("cv_predictions_example.php?My_key=<?php print($keyval);?>","_self");>Return to validation and predictions menu</a>
+  <li><a href="help.php">Help</a>
+  <li><a href="home.php">Home</a>
+</ul>
+
+<div id="outer">
+<!-- Main content -->
+
+<?php
+  $filename1="./data/".$keyval."ts_upload.txt";
+  $filename2="./data/".$keyval."ts_output.txt";
+if(file_exists($filename1))
+  {?>
+<br>
+Calculation submitted.
+<br>
+<a href="cv_predictions_example.php?My_key=<?php print($keyval);?>">Click to return to cross-validation and predictions menu</a>
+<br>
+<?php
+  }
+else if(file_exists($filename2))
+  {?>
+  <br>
+  <h2> <a href=<?php $d="./data/".$keyval."ts_output.txt"; print($d);?>>View predictions</a></h2>
+  <br>
+<h3>Make a new set of predictions by submitting data file below</h3>
+<FORM name="key_search" enctype="multipart/form-data" ACTION="test_set_predictions_example.php" METHOD=POST>
+<table>
+<tr>
+<td>
+<INPUT style="background-color:#FFFFFF;color:#0000FF" type="file" name="MyFile" size=45 >
+<INPUT TYPE="submit" value="  Submit  " onclick="return Upload();">
+<INPUT TYPE="hidden" NAME="My_key" value=<?php print($keyval) ?> >
+<INPUT TYPE="hidden" name="MyUpload" value="NO">
+</td>
+</tr>
+<tr>
+<!---
+<td align="left"><font color=#33339f><br>Content of uploaded data file:</font><br>
+     <textarea name="searchkey" rows="8" cols="100"><?PHP print($searchID)?> </textarea>
+</td>
+---!>
+</tr>
+</table>
+</FORM>
+</div>
+  <?php
+   } else {
+?>
+<h2>Make predictions of test data file</h2>
+  To make prediction for several test cases, upload a file containing the test cases.
+<br>
+<br>
+    <FORM name="key_search" enctype="multipart/form-data" ACTION="test_set_predictions_example.php" METHOD=POST>
+<table>
+<tr>
+<td>
+<INPUT style="background-color:#FFFFFF;color:#0000FF" type="file" name="MyFile" size=45 >
+<INPUT TYPE="submit" value="  Submit  " onclick="return Upload();">
+<INPUT TYPE="hidden" NAME="My_key" value=<?php print($keyval) ?> >
+<INPUT TYPE="hidden" name="MyUpload" value="NO">
+</td>
+</tr>
+<tr>
+<!---
+<td align="left"><font color=#33339f><br>Content of uploaded data file:</font><br>
+     <textarea name="searchkey" rows="8" cols="100"><?PHP print($searchID)?> </textarea>
+</td>
+---!>
+</tr>
+</table>
+</FORM>
+</div>
+<br>
+
+<?php
+}
+
+if($searchID!="")
+{
+  if($UploadValue=="NO")
+    {
+      $fpdata = fopen("./data/".$keyval."ts_input.txt","w");
+      fwrite($fpdata,$searchID);
+    }
+  $command = './run_test_set '.$keyval;
+  $output = shell_exec("$command > /dev/null 2 > /dev/null &");
+  $pred_link='cv_predictions_example.php?My_key='.$keyval;
+}
+?>
+
+</div>
+</body>
+
+
diff --git a/sourcecodes/tier_description_processing_gom.php b/sourcecodes/tier_description_processing_gom.php
index 48ac172c..de37d02a 100644
--- a/sourcecodes/tier_description_processing_gom.php
+++ b/sourcecodes/tier_description_processing_gom.php
@@ -1,6 +1,6 @@
 <?php
-
-$keyval=$_GET["My_key"];
+include("input_validate.php");
+$keyval=valid_keyval($_GET["My_key"]);
 
 function get_tier($keyval)
 {
diff --git a/sourcecodes/upload_structure_file.php b/sourcecodes/upload_structure_file.php
index cb59f560..170bcfae 100644
--- a/sourcecodes/upload_structure_file.php
+++ b/sourcecodes/upload_structure_file.php
@@ -6,6 +6,8 @@
 include("header_new.inc");
 include("header_batchsearch.inc");
 include("runtime_check.php");
+include("input_validate.php");
+
 $searchID="";
 $UploadValue="NO";
 $TextFile=$HTTP_POST_FILES["MyFile"]["name"];
@@ -26,6 +28,7 @@ $keyval=$alpha;
 if($_POST["My_key"]!="")
   $keyval=$_POST["My_key"];
 
+$keyval=valid_keyval($keyval);
 
 $sid=$keyval."continuous_input";
 $dir="./data/";