diff --git a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/.newGA.pro.cc.kate-swp b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/.newGA.pro.cc.kate-swp deleted file mode 100644 index a79487af1cf3e2951e64826de0274515ec5f0a6c..0000000000000000000000000000000000000000 Binary files a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/.newGA.pro.cc.kate-swp and /dev/null differ diff --git a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/MainLan b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/MainLan index a57ca169b7bb2979e2a5fbd6de4a126d9f53781f..47cbe746dd84bb141dc2ae97c7e11a38e4023bd4 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 e5c09103ecd9b46e7a1ad56da5468b7a77b5bfa0..8a6835291ed70be6a790b42e9ea86b9dda99f159 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 04b2d3ee5680eebe9be71d35d48c935f1c5e7ffe..40189a9277781f4ecd2b4b7226c7ace2a7c25ec6 100644 --- a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/datos_columnas +++ b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/datos_columnas @@ -1,10 +1,51 @@ -9 -1 2 2 -2 1 2 -5 1 -1 1 3 -1 1 1 2 -3 1 1 -2 2 1 -2 1 1 -5 1 +50 +1 1 2 1 5 1 1 1 2 2 4 2 1 2 1 +3 1 1 3 3 1 3 1 3 4 +4 1 1 1 1 1 3 6 6 +2 6 2 5 2 2 4 2 5 1 +1 2 1 1 2 2 2 1 3 5 2 1 4 2 +1 2 1 1 2 1 1 2 1 3 3 3 1 +2 2 2 1 5 3 6 1 3 2 1 +2 1 1 1 1 1 3 3 2 +1 1 1 1 1 2 1 3 1 1 1 2 1 1 1 2 1 +1 4 2 1 1 2 1 2 1 1 5 1 1 1 1 +2 1 2 4 1 1 3 2 3 3 1 5 +1 1 2 1 1 2 1 1 3 1 1 2 1 +1 2 1 4 4 2 1 1 1 1 1 1 6 +2 2 1 2 6 1 3 1 1 2 4 1 +2 1 2 1 1 1 2 4 1 1 2 1 2 1 +3 1 1 1 1 4 1 1 1 1 1 3 +3 2 1 1 1 1 5 1 2 3 3 2 +4 2 1 4 1 3 1 1 1 1 1 2 6 1 1 +1 2 1 1 3 1 4 2 3 1 4 1 1 +1 2 2 1 1 1 3 2 1 1 5 +1 2 1 3 2 3 3 3 2 1 1 1 3 1 +1 2 2 4 2 2 1 2 2 5 3 +3 1 1 1 1 1 3 1 2 2 3 2 1 3 1 +1 5 2 1 1 1 2 1 2 1 1 1 1 +1 1 1 1 1 1 1 1 1 5 1 1 2 1 +1 1 1 1 1 1 1 1 1 5 1 5 1 +1 3 3 2 1 3 1 3 2 2 1 5 +1 2 5 2 1 3 3 1 2 1 1 1 +6 4 1 2 1 2 3 1 1 1 2 +1 1 1 1 1 1 1 1 1 2 1 4 1 +1 2 2 1 2 3 3 2 1 2 1 4 +1 1 4 2 1 1 1 1 3 1 1 3 4 1 1 +2 3 2 1 2 1 1 1 2 1 2 1 1 +1 2 1 2 1 1 2 4 4 1 1 1 1 +1 1 1 2 1 2 1 2 3 6 1 2 3 +1 2 3 3 1 1 2 3 1 4 2 2 +8 1 1 1 4 2 1 1 1 2 2 1 +2 2 4 1 1 1 1 1 1 2 4 2 +1 2 1 5 4 1 3 2 3 1 3 1 +3 1 1 1 1 2 1 2 1 3 1 1 1 3 +1 2 1 1 1 1 5 2 3 1 1 1 1 1 1 4 +1 1 4 3 2 1 2 4 1 1 1 2 2 1 +1 2 5 1 1 3 1 1 1 1 2 4 +1 1 1 3 1 1 1 2 2 1 1 1 4 1 1 1 +1 1 1 1 1 1 3 2 2 4 2 1 1 +3 4 3 2 2 2 1 1 3 1 1 1 1 +2 3 2 1 1 1 1 1 2 1 1 1 2 1 3 1 4 +1 1 2 2 3 1 1 1 6 3 2 1 +1 2 2 1 1 2 1 1 3 1 1 2 1 1 +1 3 1 1 1 1 4 1 2 1 1 1 5 diff --git a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/datos_filas b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/datos_filas index d2f863e3edfb163dafedd4025e67be5f492ad4f5..998618dea5c890f7919b5288ee9dfb9f88faa5fb 100644 --- a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/datos_filas +++ b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/datos_filas @@ -1,10 +1,51 @@ -9 -1 1 2 2 -3 1 2 -3 3 1 -1 2 1 1 -1 1 1 -1 1 2 -1 5 -2 2 1 -1 3 +50 +1 3 3 1 2 2 1 2 1 2 3 1 1 +1 1 1 1 1 4 1 1 1 1 1 2 1 3 +1 2 3 4 3 3 2 1 1 1 1 +1 1 1 5 4 1 2 1 4 2 4 1 +1 3 2 1 1 1 1 1 1 2 1 1 1 +1 4 1 2 1 1 1 3 1 1 1 1 3 1 +1 1 5 1 4 4 3 3 2 3 2 +3 1 1 1 1 1 1 3 2 1 2 1 1 2 2 +4 1 1 4 2 1 1 1 1 2 1 3 1 +1 1 1 5 5 1 1 4 1 1 1 +1 3 1 1 1 2 3 1 2 1 1 1 1 2 +3 1 1 2 1 1 2 1 1 2 1 1 2 +1 1 1 3 1 1 3 2 2 1 4 1 1 +2 1 1 3 2 2 6 1 3 1 1 +1 1 1 5 1 1 1 4 2 1 1 4 1 +1 1 4 1 1 3 1 1 3 2 1 1 +2 1 2 5 1 4 1 2 2 1 1 6 +2 1 1 1 2 3 2 1 2 1 1 1 1 5 +3 1 2 2 3 1 1 2 3 2 1 1 1 1 2 +1 1 7 2 1 1 1 2 1 4 1 1 +1 2 1 1 4 1 1 2 2 1 2 3 2 +1 4 2 3 3 1 4 8 4 1 +4 1 3 1 2 1 1 2 4 3 1 +2 1 1 6 2 1 1 1 2 3 +1 3 2 1 1 1 2 1 4 1 1 2 2 1 +2 1 1 6 1 3 3 3 3 1 2 +4 4 1 1 1 2 1 3 2 +1 4 1 2 4 1 5 2 4 4 +1 1 4 1 1 1 1 2 4 1 1 1 4 1 +1 1 2 1 1 3 2 2 1 1 3 2 1 1 +3 2 1 2 3 2 1 4 1 1 +2 1 5 1 1 3 1 1 5 3 1 2 1 +1 4 3 1 2 1 2 2 1 1 1 +2 3 1 1 1 1 2 2 2 3 4 4 +8 1 2 1 2 3 1 1 2 6 +1 3 1 1 4 3 1 2 1 2 2 2 2 +3 2 1 1 4 1 1 1 2 2 2 1 +5 3 6 1 1 1 5 1 3 3 1 +5 1 6 4 1 1 3 2 2 1 2 1 +1 1 1 1 1 2 2 1 1 1 1 1 5 2 +1 1 4 1 1 2 1 2 3 1 2 1 4 2 +1 1 1 1 2 1 3 1 2 4 1 2 2 2 +1 4 3 2 1 1 1 1 1 1 1 1 1 3 1 1 +6 2 3 6 1 1 1 1 3 1 +1 3 1 5 1 5 5 1 1 4 2 1 +5 3 1 2 4 1 1 1 2 3 1 1 1 3 +3 1 2 1 1 4 1 5 1 3 1 1 1 1 +3 6 1 1 1 2 1 1 1 1 3 2 1 1 1 +1 1 2 1 1 1 1 4 1 1 1 2 1 1 +1 3 2 2 1 1 2 1 1 1 4 4 diff --git a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.hh b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.hh index 87b549b1e8ecab7c445a54e72f26d38f5a5b6aca..aeb5ea467c30921ce30b052c5c3c72b2a8eb53ad 100644 --- a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.hh +++ b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.hh @@ -125,7 +125,8 @@ skeleton newGA private: Rarray<Rarray<int>> _var; const Problem& _pbm; - int _init; + int _init; + int _deleted; }; diff --git a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.req.cc b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.req.cc index 801a2ed6456e66b15704b0bc4b7fefe206a9d771..009b3998f9439e04b21c15d834b60fb70c73ee82 100644 --- a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.req.cc +++ b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.req.cc @@ -250,9 +250,27 @@ skeleton newGA return _cantGruposFila; } - Problem::~Problem() - { - //Libero la memoria pedida para almacenar los limites de los barrios + Problem::~Problem() + { + int size =_datosFilas.size(); + for(int i =0; i < (size-1);i++) { + _datosFilas[i].clear(); + std::vector<int>(_datosFilas[i]).swap(_datosFilas[i]); + + } + std::vector<std::vector<int>>(_datosFilas).swap(_datosFilas); + + size =_datosColumnas.size(); + for(int i =0; i < (size-1);i++) { + _datosColumnas[i].clear(); + std::vector<int>(_datosColumnas[i]).swap(_datosColumnas[i]); + } + std::vector<std::vector<int>>(_datosColumnas).swap(_datosColumnas); + + _cantGruposColumna.clear(); + std::vector<int>(_cantGruposColumna).swap(_cantGruposColumna); + _cantGruposFila.clear(); + std::vector<int>(_cantGruposFila).swap(_cantGruposFila); } // Solution -------------------------------------------------------------- @@ -266,7 +284,7 @@ skeleton newGA _var[i] = aux; }*/ - + _deleted = 0; _var = Rarray<Rarray<int>>(_pbm.cantColumnas()); for (int x = 0; x < _pbm.cantColumnas(); x++) @@ -289,6 +307,8 @@ skeleton newGA Solution::Solution(const Solution& sol):_pbm(sol.pbm()) { + _deleted = 0; + _var = Rarray<Rarray<int>>(_pbm.cantColumnas()); for (int x = 0; x < _pbm.cantColumnas(); x++) @@ -410,6 +430,8 @@ skeleton newGA void Solution::initialize() { //cout << "ESTOY ENTRANDO A INITIALIZE" << endl; + + _deleted = 0; _var = Rarray<Rarray<int>>(_pbm.cantColumnas()); _init = 1; @@ -920,10 +942,20 @@ skeleton newGA } Solution::~Solution() - { /* - cout << "ESTOY EN DESTRUCTOR" << endl; - _var.~Rarray<Rarray<int>>(); - cout << "SALGO DEL DESTRUCTOR" << endl; */ + { + if (_deleted == 0) + { + cout << "HELLO LLDJSFLDJSLFJDSFJDJSFLJSLFJLDJS " << _deleted << endl; + _deleted++; + for (int i=0; i < _var.size();i++) + { + _var[i].remove(); + } + //_var.remove(); + } + + //cout << "ESTOY EN DESTRUCTOR" << endl; + //cout << "SALGO DEL DESTRUCTOR" << endl; } // UserStatistics ------------------------------------------------------- diff --git a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.req.o b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.req.o index b6e5e032ec92af81a46771085ffd5685ea3fcb67..90a0d81586d7c29755706b188f4b7610f6212629 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 444b99fa11cb64231b7a44a19dfc810fcc6d7837..a89e74dfc3a251795fd6dc4ce590bb68e209bd80 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 16400 47500 15800 157 129087 530866 -2 2600 48100 34200 341 253560 586832 -3 16900 47300 5700 56 31397 484556 -4 10900 48600 2600 25 14304 505776 -5 18200 48200 1200 11 6566 488600 -6 0 56100 5700 56 29292 29292 -7 25500 48600 100 0 0 0 -8 27000 50100 100 0 0 0 -9 20100 48700 100 0 0 0 -10 23900 47200 100 0 0 0 +1 5200 47200 46100 460 298239 576159 +2 2600 48900 27600 275 136036 508969 +3 2600 49400 9600 95 57737 501863 +4 2600 50500 65100 650 324029 505171 +5 2600 54500 12800 127 63239 490562 +6 12800 47800 53700 536 264446 493668 +7 6800 50800 1400 13 6798 476993 +8 19300 54300 900 8 4507 497995 +9 0 50800 6700 66 35140 35140 +10 26700 50200 100 0 0 0 ------------------------------------------------------------------ diff --git a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/tempsolution b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/tempsolution new file mode 100644 index 0000000000000000000000000000000000000000..ce711b9ac4900e72055e7599d4a58a79ff999162 --- /dev/null +++ b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/tempsolution @@ -0,0 +1,51 @@ +829500 +0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 1 1 1 1 1 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 1 1 0 1 1 0 1 0 1 1 0 1 +0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 1 0 0 1 1 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 1 1 1 +0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 1 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 +0 0 0 0 0 1 1 0 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1 1 1 0 0 0 0 1 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 1 0 1 +0 0 0 0 0 1 0 1 1 0 0 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 1 0 1 0 1 1 1 1 0 1 1 +0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 +0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 0 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 1 0 1 1 1 0 1 1 +0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 1 0 1 1 0 1 0 1 1 1 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 1 0 1 +0 0 0 0 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 +1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 1 0 1 0 1 1 1 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 0 1 0 1 1 0 1 +0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 +0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 1 1 0 1 1 1 1 0 1 +0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 1 0 1 1 0 1 1 1 1 0 1 0 1 0 1 1 0 1 0 1 1 0 1 +0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 +0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 1 1 0 1 1 1 0 1 1 1 0 1 1 +0 0 1 1 1 1 0 0 0 0 0 1 1 0 1 0 1 1 1 1 0 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 1 1 1 1 0 1 0 1 +0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 0 1 1 0 1 1 1 0 1 0 1 1 1 1 0 1 0 1 +0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 1 1 0 1 0 1 0 1 1 1 1 1 +0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 1 1 1 0 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 0 1 0 1 0 1 0 1 1 1 0 1 +0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 1 1 +0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 0 1 1 1 0 1 +0 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 1 1 0 1 0 1 0 1 0 1 +0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 1 1 0 1 +0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 +0 0 0 0 0 1 0 0 1 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 0 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 +0 0 1 0 0 0 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 1 1 0 1 1 1 0 1 0 1 1 0 0 1 0 1 0 1 +1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 1 +0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 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 0 1 1 0 1 1 0 1 0 1 1 0 1 1 1 0 1 1 1 0 1 1 0 1 0 1 1 0 1 0 1 1 1 1 +0 1 0 0 0 0 0 0 1 0 0 1 1 1 1 0 0 1 1 0 1 0 0 1 0 0 1 0 1 0 1 1 1 0 1 0 1 0 1 1 1 0 0 1 1 1 0 1 0 1 +0 0 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 1 0 1 1 0 1 0 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 1 1 0 1 0 1 0 1 1 0 1 1 1 1 0 1 0 0 1 0 1 0 1 0 1 0 1 +0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 1 1 0 1 1 1 1 1 1 0 1 0 1 1 0 1 1 1 +0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 0 0 1 0 1 0 1 1 0 1 1 1 0 1 0 1 1 1 1 0 1 1 0 1 1 +0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 0 1 0 1 1 1 1 0 1 1 0 1 0 1 0 1 0 1 1 0 1 1 0 1 +0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 1 0 1 1 1 1 0 1 1 +0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1 0 1 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1 0 1 1 0 0 1 1 0 1 0 1 1 1 0 1 +0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 1 0 1 0 1 0 1 0 1 1 1 +0 0 0 0 0 0 1 0 1 1 0 0 1 0 1 0 0 1 0 1 0 1 1 1 1 1 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 +0 0 1 0 0 1 0 0 0 0 0 0 1 1 1 1 0 1 1 1 0 1 1 0 1 0 0 0 1 1 0 1 1 1 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 +0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 0 0 0 1 0 0 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 1 0 1 1 1 1 +0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 1 1 0 1 0 0 1 0 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 +0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 1 0 0 1 1 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 0 1 0 1 +0 0 1 1 1 0 0 1 1 1 1 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 0 1 0 1 1 1 0 0 1 0 1 0 1 0 1 +1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 1 0 1 0 0 1 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 1 0 1 0 1 1 1 0 1 0 1 1 1 1 +0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 0 1 1 0 1 1 0 1 +0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 1 0 1 0 1 +0 0 0 0 0 0 1 0 1 1 1 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 1 1 1 1 0 0 1 0 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1