diff --git a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/MainLan b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/MainLan
index ab6538e4f63e54e48c3ad994081e40e4ac249c95..e6233d70d469f98c18976790cae89ce875ce732f 100755
Binary files a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/MainLan and b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/MainLan differ
diff --git a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/MainSeq b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/MainSeq
index 83e93383c8484d0538e85437637a30b8e1cc4bb0..822448462fc573f575635ad95fd8827b8612fed2 100755
Binary files a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/MainSeq and b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/MainSeq differ
diff --git a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/datos_columnas b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/datos_columnas
index ca3e2b162b6ccea26fc8b4bc0c636566f34298de..a668ca5d9ff9298d6abf93b2a1392cd0e40078b6 100644
--- a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/datos_columnas
+++ b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/datos_columnas
@@ -1,11 +1,51 @@
-10
-1 4 
-2 1 
-3 6 
-1 1 1 1 
-2 1 1 1 
-1 3 
-2 1 
-1 2 1 
-1 3 1 
-1 4 
+50
+1 1 1 1 1 1 5 4 1 1 2 1 1 1 1 2 
+1 3 3 3 2 1 1 1 3 2 1 2 1 2 1 
+2 1 1 5 3 1 2 3 1 1 
+4 1 1 2 7 5 1 1 1 1 2 1 2 
+1 2 4 2 3 1 2 2 6 1 1 2 1 
+2 2 2 2 3 1 1 2 4 1 1 2 1 3 
+2 1 4 1 2 1 1 1 2 3 11 
+2 3 1 1 4 4 1 1 6 1 1 1 
+1 1 7 1 2 1 5 1 1 1 4 2 1 1 
+2 1 1 1 1 3 1 1 2 1 2 5 2 
+9 2 2 1 1 2 3 1 1 1 1 
+2 4 2 1 3 7 5 2 1 1 1 3 
+3 1 1 1 1 1 3 1 2 2 4 1 2 2 
+6 1 1 2 2 1 3 3 2 3 1 2 1 
+1 2 1 1 2 1 2 1 2 6 1 2 3 
+3 2 1 2 2 3 2 1 1 3 
+2 2 1 1 5 2 1 1 2 7 3 2 
+2 2 3 1 1 2 1 2 1 3 2 2 
+3 1 1 1 3 2 2 4 1 2 2 1 1 1 1 
+2 1 1 1 2 8 1 1 1 1 1 2 
+1 1 2 3 5 1 2 1 1 2 1 1 
+3 1 1 2 5 1 2 1 1 4 3 1 
+1 1 1 3 2 1 1 1 1 4 1 2 1 
+2 1 1 1 1 7 1 2 1 2 3 
+3 6 1 1 3 4 2 1 1 1 2 2 
+2 1 3 1 3 1 2 1 3 1 2 1 
+3 1 3 3 1 3 4 1 1 
+2 1 2 4 3 1 1 1 1 1 1 1 1 1 
+4 1 5 1 1 2 3 2 1 2 6 4 
+1 1 5 1 1 2 3 2 5 2 
+1 9 1 9 3 4 1 4 
+1 1 1 1 1 1 2 1 1 2 2 2 1 2 2 3 
+2 3 1 7 1 1 1 5 1 4 1 
+1 2 3 1 2 1 1 2 1 2 1 3 1 
+1 1 1 1 1 3 1 6 1 2 1 1 2 1 1 1 1 
+2 1 1 1 4 1 1 5 1 2 1 1 4 
+1 1 4 1 1 1 1 3 1 2 1 
+2 3 1 4 1 2 1 5 3 2 1 2 1 
+1 1 1 4 1 1 2 1 1 1 2 1 5 4 
+1 1 2 1 2 2 1 3 2 2 1 1 4 1 4 3 
+2 1 1 1 2 2 2 4 2 1 3 1 1 
+1 1 1 1 4 5 1 1 1 1 3 2 2 
+1 1 2 2 2 1 3 2 1 2 1 2 1 2 
+1 4 2 3 1 3 2 1 2 3 2 1 1 
+2 1 2 7 1 1 1 1 3 1 1 5 3 
+2 2 3 1 2 1 2 1 2 2 1 1 1 1 
+2 2 1 1 1 2 1 1 1 1 2 1 1 2 
+1 2 3 2 3 1 2 1 7 2 2 
+1 1 1 1 3 1 4 1 1 1 1 1 1 1 2 2 
+1 1 2 1 1 1 1 3 1 2 2 2 2 2 1 
diff --git a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/datos_filas b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/datos_filas
index b005d6fa8406a6886713579cc56f188b50c5cbda..865f8c631f7bf2b0f7c1c4c9016ddab5e9591601 100644
--- a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/datos_filas
+++ b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/datos_filas
@@ -1,11 +1,51 @@
-10
-2 3 
-1 
-3 1 
-1 3 1 
-2 3 
-2 1 3 
-1 2 1 1 
-1 1 3 1 
-3 1 1 
-1 3 1 
+50
+2 2 2 6 2 7 3 2 4 1 1 
+1 1 1 1 3 5 1 6 1 1 1 1 3 2 
+6 2 1 2 2 1 1 2 2 2 1 3 
+5 1 1 1 2 2 1 1 1 1 1 1 1 
+1 1 4 2 5 2 1 3 1 1 1 
+3 3 1 1 3 2 1 5 4 2 1 2 
+1 2 2 3 1 1 3 2 1 2 2 1 
+3 1 1 1 1 1 2 9 2 1 1 1 
+1 1 1 3 1 1 1 8 2 1 1 6 1 
+2 6 2 1 1 1 1 1 2 3 3 1 6 
+2 3 4 2 1 2 3 3 4 1 2 
+1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 7 
+4 5 1 1 2 2 1 2 3 
+2 2 1 1 1 1 3 2 2 1 1 
+3 3 2 1 1 1 1 1 1 1 3 3 1 2 2 
+1 1 2 3 3 1 1 4 1 2 3 
+2 6 1 4 1 2 1 1 3 2 1 2 2 3 
+2 5 3 1 1 2 2 2 1 1 1 1 1 2 2 
+1 3 1 2 1 1 1 2 2 3 4 2 1 1 2 2 
+1 1 1 3 1 1 1 1 1 1 1 1 2 5 1 
+1 3 1 1 2 1 1 3 1 2 1 5 3 
+2 1 1 1 2 3 1 2 2 1 1 1 1 2 1 1 1 
+3 2 2 1 3 2 1 5 1 1 4 1 
+1 2 3 5 1 2 1 2 1 1 2 3 2 1 
+2 1 2 2 3 1 1 1 1 1 4 1 1 4 
+1 3 2 1 2 2 2 3 2 2 1 4 1 1 
+2 2 1 1 1 3 2 1 1 4 1 2 1 2 1 
+1 1 1 1 1 1 2 1 3 1 1 3 1 1 1 
+4 1 1 2 1 1 1 3 1 1 1 1 1 1 
+6 1 4 4 3 1 1 1 1 1 2 
+3 4 3 3 1 1 1 1 1 1 2 2 1 1 
+1 2 1 3 2 1 1 1 1 1 1 2 1 1 1 
+2 3 1 1 2 2 8 1 1 2 4 2 2 
+2 1 1 5 2 3 1 7 2 3 1 
+1 2 1 3 1 1 2 5 4 2 1 
+2 3 1 3 1 1 1 2 1 4 2 2 1 
+1 2 1 1 1 1 1 2 2 1 4 2 
+4 6 3 3 2 1 1 1 1 2 1 3 1 
+3 3 2 2 3 1 2 1 1 1 1 1 1 1 
+1 1 1 2 3 2 1 6 2 1 2 2 
+1 1 1 4 1 1 2 2 1 2 2 1 2 1 
+1 3 1 2 1 2 3 1 1 5 2 1 
+3 3 4 1 2 1 1 5 1 2 4 1 1 2 
+3 4 1 1 3 1 7 3 1 
+2 1 2 1 2 1 1 3 5 1 1 1 1 2 4 
+2 1 4 3 1 1 3 2 3 1 1 3 
+1 1 1 1 4 2 1 1 2 1 2 1 3 
+1 4 5 1 1 1 2 1 2 4 3 2 
+2 2 1 4 2 2 2 1 2 2 1 4 
+1 1 1 3 1 3 1 2 1 3 3 1 2 
diff --git a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.req.cc b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.req.cc
index ccb9c22dd843e603e9e69f96682db151807ed0a5..3ce1a40dd7181ba3efc84141176904075fea31e7 100644
--- a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.req.cc
+++ b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.req.cc
@@ -336,9 +336,9 @@ skeleton newGA
         {
             for(int col = 0; col < sol.pbm().cantColumnas(); col++)
             {
-                cout << sol._var[col][fil] << " ";
+                ss << sol._var[col][fil] << " ";
             }
-            cout << endl;
+            ss << endl;
         }
 
         outfile << ss.str();
@@ -585,7 +585,9 @@ skeleton newGA
 	char *Solution::to_String() const
 	{     
         cout << "EN TO STRING" << endl;
+        Rarray<int> aux = Rarray<int>(0);      //Rarray<int>((_pbm.cantColumnas() + 1) * _pbm.cantFilas());
         
+        /*
         for (int fil = 0; fil < _pbm.cantFilas(); fil++)
         {
             for(int col = 0; col < _pbm.cantColumnas(); col++)
@@ -600,7 +602,16 @@ skeleton newGA
             //cout << endl;
         }
         
-        Rarray<int> aux = Rarray<int>((_pbm.cantColumnas() + 1) * _pbm.cantFilas());
+        for(int i = 0; i < _pbm.cantFilas(); i++)
+        {
+            for(int j = 0; j < _pbm.cantColumnas(); j++)
+            {    
+                cout << _var[j][i] << " ";
+            }
+            cout << endl;
+        }
+        
+        
         int c = 0;
         for (int k = 0; k < _pbm.cantFilas(); k++)
         {
@@ -621,23 +632,60 @@ skeleton newGA
                 c++;
             }
         }
-//         for(int i = 0; i < _pbm.cantColumnas(); i++)
-//         {
-//             for(int j = 0; j < _pbm.cantFilas(); j++)
-//             {    cout << _var[i][j] << " ";
-//             }
-//             cout << endl;
-//             
-//         }
         
-        //char * k = (char *)_var.get_first();
-        //cout << "ACA" << (int *)k << endl;
+        int h = _pbm.cantFilas();
+        for(int i = 0; i < _pbm.cantColumnas(); i++)
+        {
+            for(int j = 0; j < _pbm.cantFilas(); j++)
+            {    
+                cout << aux[h] << " ";
+                h++;
+            }
+            cout << endl;
+        }
+        
+        for (int fil = 0; fil < _pbm.cantFilas(); fil++)
+        {
+            for(int col = 0; col < _pbm.cantColumnas(); col++)
+            {
+                //cout << sol.var(col, fil) << " ";
+                if (_var[col][fil] != 0 && _var[col][fil] != 1)
+                {
+                    cout << "tostring end" << endl;
+                    exit(EXIT_FAILURE);
+                }
+            }
+            //cout << endl;
+        }*/
+        
+        
+        //FILE---------------------------------------------------------------------------------------------------
+        
+        ofstream outfile("tempsolution");
+
+        stringstream ss;
+        
+        for(int col = 0; col < _pbm.cantColumnas(); col++)
+        {
+            for (int fil = 0; fil < _pbm.cantFilas(); fil++)
+            {
+                ss << _var[col][fil] << " ";
+            }
+            ss << endl;
+        }
+
+        outfile << ss.str();
+        outfile.close();
+        
+        //FILE---------------------------------------------------------------------------------------------------
+        
 		return (char *)aux.get_first();
 	}
 
 	void Solution::to_Solution(char *_string_)
 	{
         cout << "toSolution" << endl;
+        /*
 		int *ptr=(int *)_string_;
         Rarray<int> aux = Rarray<int>((_pbm.cantColumnas()+1) * _pbm.cantFilas());
 		for (int i=0;i< (_pbm.cantColumnas() * _pbm.cantFilas());i++)
@@ -660,8 +708,63 @@ skeleton newGA
                 
                 c++;
             }
+        }*/
+        
+        //FILE----------------------------------------------------------------------------------------------
+        
+        //CARGAR DATOS FILAS
+        string line2;
+		ifstream inFile2;
+		inFile2.open("tempsolution");
+		if (!inFile2)
+        {
+            cerr << "Unable to open file datafile.txt";
+            exit(1);   // call system to stop
+        }
+        
+        for(int c = 0; c < _pbm.cantColumnas(); c++)
+        {
+            getline(inFile2, line2);
+            
+            //Rarray<int> divided(_pbm.cantFilas());
+            
+            int f = 0;
+            
+            int n = line2.length();  
+            int len=1;
+            int t=0;
+            int z=0;
+            for(int i=0; i<=line2.length(); i++) 
+            {
+                if(line2[i] == ' '|| i==line2.length()) 
+                {
+                    string rr = line2.substr(z,len);
+                    if (rr != "")
+                    {
+                        rr = trim(rr);
+
+                        //divided.push_back(stoi(rr));
+                        _var[c][f] = stoi(rr);
+                        f++;
+                        
+                    }
+                    
+                    //cout << rr << " ";
+                    t=t+1;
+                    z=i+1;
+                    len=1;
+                    //s.erase(i,1);
+                }
+                else len=len+1;
+            }
+
         }
+        exit;
+        inFile2.close();
         
+        //FILE----------------------------------------------------------------------------------------------
+        
+        /*
         for (int fil = 0; fil < _pbm.cantFilas(); fil++)
         {
             for(int col = 0; col < _pbm.cantColumnas(); col++)
@@ -674,19 +777,8 @@ skeleton newGA
                 }
             }
             //cout << endl;
-        }
-        
-//         int *ptr=(int *)_string_;
-// 		for (int i=0;i<_pbm.cantColumnas();i++)
-// 		{     for(int j = 0; j < _pbm.cantFilas(); j++)
-//             {   //cout << _var[0][0]; 
-//                 //_var[i][j]=*ptr;
-//                 //ptr++;
-//                 
-//             }
-// 		}
-		_init = 1;
-	}
+        }*/
+    }
 
 	unsigned int Solution::size() const
 	{
@@ -1105,19 +1197,12 @@ skeleton newGA
 	bool StopCondition_1::EvaluateCondition(const Problem& pbm,const Solver& solver,const SetUpParams& setup)
 	{
         bool fin=(currentBestFitness == 0 || (int) (solver.current_time_spent() - solver.time_best_found_trial()) > 20000000);
-		//Condicion de parada. Si el fitness es 0 terminamos la ejecucion.
-		//bool fin=(int)solver.best_cost_trial() == 0;
-        //cout << pbm.cantEmpleados();
-        /*if (fin){
-			//Escribo el resultado en el archivo de salida
-			FILE * pFile;
-			pFile = fopen ("asignacion_colores.csv","w");
-			for (int i=0;i<pbm.dimension();i++){
-				fprintf (pFile, "%d,%d\n",i+1,solver.best_solution_trial().var(i));
-			}
-			fclose (pFile);
-		}*/
-		//return (fin);
+//         if (currentBestFitness == 0)
+//         {
+//             cout << "corta bien" << endl;
+//             exit(EXIT_FAILURE);
+//         }
+
         return fin;
 
     }
diff --git a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.req.o b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.req.o
index efc6ca1890255eb78b74611e83076191427cb970..4e8a4d3a5b78307b5a0a05bea9b2048fbeb36de6 100644
Binary files a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.req.o and b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.req.o differ
diff --git a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/res/sol.txt b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/res/sol.txt
index 9b721636576a19cd39eca3dacc220076fe4468e8..c0d68c66f4564291b0ce6b8cadce303381292d41 100644
--- a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/res/sol.txt
+++ b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/res/sol.txt
@@ -3,14 +3,14 @@
                    STATISTICS OF TRIALS                   	 
 ------------------------------------------------------------------
 
-1	9200		59800			2600			25			27064		589222
-2	2600		63700			4300			42			21797		493408
-3	5200		58000			11400			113			52831		481602
-4	5900		59300			13900			138			83146		531894
-5	7300		52800			49400			493			287669		550838
-6	2600		54500			21500			214			115742		534893
-7	5900		58100			11000			109			60535		527605
-8	7800		58100			1900			18			10128		489493
-9	2600		58500			4400			43			27452		515218
-10	12400		61600			32900			328			184002		544424
+1	125800		304400			83500			834			6.11349e+06		7.2359e+06
+2	124200		297700			53900			538			3.83605e+06		6.86023e+06
+3	115200		300200			78900			788			5.53009e+06		6.95522e+06
+4	231600		292900			100			0			0		0
+5	222400		301800			100			0			0		0
+6	216500		295000			100			0			0		0
+7	229400		296000			100			0			0		0
+8	231400		295600			100			0			0		0
+9	224000		299500			100			0			0		0
+10	236300		307100			100			0			0		0
 ------------------------------------------------------------------
diff --git a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/solution b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/solution
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..2e813ffa86b9616dd145a2cdbe3b996d04abd70b 100644
--- a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/solution
+++ b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/solution
@@ -0,0 +1,25 @@
+1 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 
+1 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 
+0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 
+1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 
+1 1 0 0 1 0 1 0 0 0 1 1 1 0 0 0 1 0 1 1 1 0 1 0 0 
+1 0 0 0 1 0 0 0 1 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 1 
+1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 1 1 1 0 1 0 0 
+1 1 0 0 1 1 0 0 1 0 1 0 1 0 0 0 1 0 1 1 1 1 1 1 0 
+0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 1 0 0 1 1 1 0 1 1 1 
+0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 0 0 1 1 0 0 1 0 
+0 0 1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 
+0 1 0 0 1 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 
+0 1 1 1 1 1 0 1 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 
+1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 0 0 0 0 1 
+0 1 1 1 0 0 1 1 1 1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 1 
+0 0 1 0 1 1 1 1 0 1 0 0 1 0 0 1 1 0 1 0 0 1 1 1 0 
+0 1 1 1 1 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 1 0 0 1 1 
+0 1 1 0 1 1 0 1 1 0 1 0 0 1 1 0 0 1 1 1 0 1 1 1 0 
+0 0 0 1 1 1 1 0 1 0 1 0 0 1 1 1 1 1 0 1 1 1 0 0 1 
+0 1 1 1 0 0 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 1 1 1 
+0 1 1 1 1 1 1 0 1 1 0 1 0 0 1 0 1 1 1 0 1 1 0 0 0 
+1 1 0 0 1 1 0 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 
+0 1 1 1 0 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 1 1 1 1 0 
+0 1 0 1 1 0 0 1 1 1 1 0 1 1 1 0 1 0 1 0 0 1 1 0 1 
+1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 
diff --git a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/tempsolution b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/tempsolution
new file mode 100644
index 0000000000000000000000000000000000000000..02909c7c9542995e58bd06156a6a20f073c8f506
--- /dev/null
+++ b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/tempsolution
@@ -0,0 +1,50 @@
+0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 1 1 1 1 1 0 1 1 1 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 1 
+0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 1 0 1 1 1 0 1 1 0 1 0 1 0 1 0 1 1 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 
+0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 1 1 1 0 1 1 1 0 1 0 0 0 0 1 1 0 1 1 1 0 1 0 1 
+0 0 0 1 1 1 1 0 0 0 0 1 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 1 0 1 0 1 0 1 0 1 1 0 1 0 1 1 
+1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 0 1 1 1 1 1 1 0 1 0 1 0 1 1 0 1 
+0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 1 0 1 0 1 0 1 1 0 1 0 1 1 1 
+0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 1 0 1 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 
+0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 0 1 0 1 0 1 
+1 0 1 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 0 1 1 0 1 0 1 
+0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 1 1 0 1 0 1 0 1 1 0 1 0 1 1 0 1 1 1 1 1 0 1 1 
+0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 
+0 0 0 1 1 0 0 0 0 1 1 1 1 0 1 1 0 1 0 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 0 1 0 1 0 1 0 1 1 1 
+0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 1 1 1 0 1 0 1 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 1 
+0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1 1 0 1 1 0 1 0 0 1 1 1 0 1 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1 
+0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 0 1 1 1 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 0 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 1 0 1 0 1 0 1 1 1 
+0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 1 0 1 1 1 1 1 0 1 1 0 0 1 0 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 1 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 1 0 1 1 0 1 1 
+0 1 1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1 0 1 1 0 1 0 0 1 0 1 0 1 0 1 
+0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 1 
+0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 1 1 0 1 1 1 1 1 0 1 0 0 1 1 0 1 0 1 0 1 1 0 1 0 1 
+0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1 0 1 0 1 1 0 0 1 0 1 0 1 1 1 1 0 1 1 1 0 1 
+0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 1 1 0 1 0 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 0 
+0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 0 1 0 1 1 0 1 0 1 1 0 1 1 1 
+0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 0 1 0 1 1 1 0 0 1 1 1 1 0 1 1 0 1 0 1 0 1 0 1 1 0 1 1 
+0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 0 0 0 1 0 1 1 0 1 0 0 1 1 1 0 1 0 1 1 0 1 
+0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 1 0 0 1 1 1 0 1 1 1 1 0 1 0 1 0 
+0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 1 0 1 1 1 1 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 
+0 0 0 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 0 1 0 1 0 1 1 0 1 1 1 0 1 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 
+0 0 0 1 0 0 0 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1 1 0 1 1 
+0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 1 0 1 1 1 1 
+0 1 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 1 0 1 0 1 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 0 1 1 0 1 1 1 
+0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 0 1 
+0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 1 1 0 0 0 1 0 1 0 0 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 1 0 1 
+0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 1 1 1 1 1 0 1 0 1 1 0 1 0 1 0 0 0 0 1 0 1 0 1 0 1 
+0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 1 1 0 1 0 1 0 1 1 1 1 1 0 1 0 1 1 0 1 0 1 0 1 1 1 1 
+0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 1 1 0 1 0 1 1 0 1 0 
+0 0 0 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 1 0 1 1 0 1 0 1 1 0 1 
+0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 
+0 0 0 1 0 0 1 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 0 1 1 0 1 1 0 1 0 1 0 1 1 1 1 0 1 0 1 1 1 1 0 1 1 1 
+0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1 1 0 1 0 1 1 1 0 1 0 1 
+0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 0 0 0 1 0 0 1 0 1 0 0 1 0 1 1 1 0 1 1 0 1 1 
+0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 1 0 1 1 0 1 0 1 1 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 
+0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1 0 0 0 1 1 0 1 1 1 0 1 1 0 1 0 1 
+0 0 0 1 1 0 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 1 1 0 1 0 1 1 1 
+0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 1 1 0 0 1 0 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 0 1 0 1 0 1 0 1 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 1 
+0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 0 0 1 1 0 1 1 1 0 1 0 1 1 0 1 0 1 1 1 1 1 1 1 0 1 1 0 1 1 
+0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 1 0 1 1 
+0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 0 1