--- /dev/null
+//---------------------------- function_manifold_chart ---------------------------
+// Copyright (C) 2011, 2013 by the mathLab team.
+//
+// This file is subject to LGPL and may not be distributed
+// without copyright and license information. Please refer
+// to the file deal.II/doc/license.html for the text and
+// further information on this license.
+//
+//---------------------------- function_manifold_chart ---------------------------
+
+
+// Test the identity Manifold.
+
+#include "../tests.h"
+#include <fstream>
+#include <base/logstream.h>
+
+
+// all include files you need here
+#include <deal.II/grid/tria.h>
+#include <deal.II/grid/tria_accessor.h>
+#include <deal.II/grid/tria_iterator.h>
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/grid/tria_boundary_lib.h>
+#include <deal.II/grid/manifold_lib.h>
+#include <deal.II/grid/grid_out.h>
+
+// Helper function
+template <int dim, int spacedim>
+void test(unsigned int ref=1)
+{
+ deallog << "Testing dim " << dim
+ << ", spacedim " << spacedim << std::endl;
+
+ // Here the only allowed axis is z. In cylinder the default is x.
+ std::string push_forward_expression;
+ std::string pull_back_expression;
+
+ switch(spacedim) {
+ case 2:
+ push_forward_expression = "x; y";
+ pull_back_expression = "x; y";
+ break;
+ case 3:
+ push_forward_expression = "x; y; z";
+ pull_back_expression = "x; y; z";
+ break;
+ default:
+ Assert(false, ExcInternalError());
+ }
+
+ FunctionManifoldChart<dim,spacedim,spacedim> manifold(push_forward_expression,
+ pull_back_expression);
+
+ Triangulation<dim,spacedim> tria;
+ GridGenerator::hyper_cube (tria, 0, 1);
+
+ for(auto cell = tria.begin_active(); cell != tria.end(); ++cell) {
+ cell->set_all_manifold_ids(1);
+ }
+
+ tria.set_manifold(1, manifold);
+ tria.refine_global(2);
+
+ GridOut gridout;
+ gridout.write_msh(tria, deallog.get_file_stream());
+}
+
+int main ()
+{
+ std::ofstream logfile("output");
+ deallog.attach(logfile);
+ deallog.depth_console(0);
+ deallog.threshold_double(1.e-10);
+
+
+ test<2,2>();
+ test<3,3>();
+
+ return 0;
+}
+
--- /dev/null
+
+DEAL::Testing dim 2, spacedim 2
+$NOD
+25
+1 0.00000 0.00000 0
+2 1.00000 0.00000 0
+3 0.00000 1.00000 0
+4 1.00000 1.00000 0
+5 0.500000 0.00000 0
+6 0.00000 0.500000 0
+7 1.00000 0.500000 0
+8 0.500000 1.00000 0
+9 0.500000 0.500000 0
+10 0.250000 0.00000 0
+11 0.750000 0.00000 0
+12 0.00000 0.250000 0
+13 0.00000 0.750000 0
+14 1.00000 0.250000 0
+15 1.00000 0.750000 0
+16 0.250000 1.00000 0
+17 0.750000 1.00000 0
+18 0.500000 0.250000 0
+19 0.500000 0.750000 0
+20 0.250000 0.500000 0
+21 0.750000 0.500000 0
+22 0.250000 0.250000 0
+23 0.750000 0.250000 0
+24 0.250000 0.750000 0
+25 0.750000 0.750000 0
+$ENDNOD
+$ELM
+16
+1 3 0 0 4 1 10 22 12
+2 3 0 0 4 10 5 18 22
+3 3 0 0 4 12 22 20 6
+4 3 0 0 4 22 18 9 20
+5 3 0 0 4 5 11 23 18
+6 3 0 0 4 11 2 14 23
+7 3 0 0 4 18 23 21 9
+8 3 0 0 4 23 14 7 21
+9 3 0 0 4 6 20 24 13
+10 3 0 0 4 20 9 19 24
+11 3 0 0 4 13 24 16 3
+12 3 0 0 4 24 19 8 16
+13 3 0 0 4 9 21 25 19
+14 3 0 0 4 21 7 15 25
+15 3 0 0 4 19 25 17 8
+16 3 0 0 4 25 15 4 17
+$ENDELM
+DEAL::Testing dim 3, spacedim 3
+$NOD
+125
+1 0.00000 0.00000 0.00000
+2 1.00000 0.00000 0.00000
+3 0.00000 1.00000 0.00000
+4 1.00000 1.00000 0.00000
+5 0.00000 0.00000 1.00000
+6 1.00000 0.00000 1.00000
+7 0.00000 1.00000 1.00000
+8 1.00000 1.00000 1.00000
+9 0.500000 0.00000 0.00000
+10 0.00000 0.500000 0.00000
+11 0.00000 0.00000 0.500000
+12 1.00000 0.500000 0.00000
+13 1.00000 0.00000 0.500000
+14 0.500000 1.00000 0.00000
+15 0.00000 1.00000 0.500000
+16 1.00000 1.00000 0.500000
+17 0.500000 0.00000 1.00000
+18 0.00000 0.500000 1.00000
+19 1.00000 0.500000 1.00000
+20 0.500000 1.00000 1.00000
+21 0.500000 0.00000 0.500000
+22 0.500000 0.500000 0.00000
+23 0.00000 0.500000 0.500000
+24 1.00000 0.500000 0.500000
+25 0.500000 1.00000 0.500000
+26 0.500000 0.500000 1.00000
+27 0.500000 0.500000 0.500000
+28 0.250000 0.00000 0.00000
+29 0.750000 0.00000 0.00000
+30 0.00000 0.250000 0.00000
+31 0.00000 0.750000 0.00000
+32 0.00000 0.00000 0.250000
+33 0.00000 0.00000 0.750000
+34 1.00000 0.250000 0.00000
+35 1.00000 0.750000 0.00000
+36 1.00000 0.00000 0.250000
+37 1.00000 0.00000 0.750000
+38 0.250000 1.00000 0.00000
+39 0.750000 1.00000 0.00000
+40 0.00000 1.00000 0.250000
+41 0.00000 1.00000 0.750000
+42 1.00000 1.00000 0.250000
+43 1.00000 1.00000 0.750000
+44 0.250000 0.00000 1.00000
+45 0.750000 0.00000 1.00000
+46 0.00000 0.250000 1.00000
+47 0.00000 0.750000 1.00000
+48 1.00000 0.250000 1.00000
+49 1.00000 0.750000 1.00000
+50 0.250000 1.00000 1.00000
+51 0.750000 1.00000 1.00000
+52 0.250000 0.00000 0.500000
+53 0.750000 0.00000 0.500000
+54 0.500000 0.00000 0.250000
+55 0.500000 0.00000 0.750000
+56 0.500000 0.250000 0.00000
+57 0.500000 0.750000 0.00000
+58 0.250000 0.500000 0.00000
+59 0.750000 0.500000 0.00000
+60 0.00000 0.500000 0.250000
+61 0.00000 0.500000 0.750000
+62 0.00000 0.250000 0.500000
+63 0.00000 0.750000 0.500000
+64 1.00000 0.500000 0.250000
+65 1.00000 0.500000 0.750000
+66 1.00000 0.250000 0.500000
+67 1.00000 0.750000 0.500000
+68 0.250000 1.00000 0.500000
+69 0.750000 1.00000 0.500000
+70 0.500000 1.00000 0.250000
+71 0.500000 1.00000 0.750000
+72 0.500000 0.250000 1.00000
+73 0.500000 0.750000 1.00000
+74 0.250000 0.500000 1.00000
+75 0.750000 0.500000 1.00000
+76 0.500000 0.500000 0.750000
+77 0.500000 0.500000 0.250000
+78 0.750000 0.500000 0.500000
+79 0.250000 0.500000 0.500000
+80 0.500000 0.750000 0.500000
+81 0.500000 0.250000 0.500000
+82 0.250000 0.00000 0.250000
+83 0.250000 0.00000 0.750000
+84 0.750000 0.00000 0.250000
+85 0.750000 0.00000 0.750000
+86 0.250000 0.250000 0.00000
+87 0.750000 0.250000 0.00000
+88 0.250000 0.750000 0.00000
+89 0.750000 0.750000 0.00000
+90 0.00000 0.250000 0.250000
+91 0.00000 0.750000 0.250000
+92 0.00000 0.250000 0.750000
+93 0.00000 0.750000 0.750000
+94 1.00000 0.250000 0.250000
+95 1.00000 0.750000 0.250000
+96 1.00000 0.250000 0.750000
+97 1.00000 0.750000 0.750000
+98 0.250000 1.00000 0.250000
+99 0.250000 1.00000 0.750000
+100 0.750000 1.00000 0.250000
+101 0.750000 1.00000 0.750000
+102 0.250000 0.250000 1.00000
+103 0.750000 0.250000 1.00000
+104 0.250000 0.750000 1.00000
+105 0.750000 0.750000 1.00000
+106 0.750000 0.750000 0.500000
+107 0.250000 0.750000 0.500000
+108 0.750000 0.250000 0.500000
+109 0.250000 0.250000 0.500000
+110 0.750000 0.500000 0.750000
+111 0.750000 0.500000 0.250000
+112 0.250000 0.500000 0.750000
+113 0.250000 0.500000 0.250000
+114 0.500000 0.750000 0.750000
+115 0.500000 0.250000 0.750000
+116 0.500000 0.750000 0.250000
+117 0.500000 0.250000 0.250000
+118 0.250000 0.250000 0.250000
+119 0.750000 0.250000 0.250000
+120 0.250000 0.750000 0.250000
+121 0.750000 0.750000 0.250000
+122 0.250000 0.250000 0.750000
+123 0.750000 0.250000 0.750000
+124 0.250000 0.750000 0.750000
+125 0.750000 0.750000 0.750000
+$ENDNOD
+$ELM
+64
+1 5 0 0 8 1 28 82 32 30 86 118 90
+2 5 0 0 8 28 9 54 82 86 56 117 118
+3 5 0 0 8 30 86 118 90 10 58 113 60
+4 5 0 0 8 86 56 117 118 58 22 77 113
+5 5 0 0 8 32 82 52 11 90 118 109 62
+6 5 0 0 8 82 54 21 52 118 117 81 109
+7 5 0 0 8 90 118 109 62 60 113 79 23
+8 5 0 0 8 118 117 81 109 113 77 27 79
+9 5 0 0 8 9 29 84 54 56 87 119 117
+10 5 0 0 8 29 2 36 84 87 34 94 119
+11 5 0 0 8 56 87 119 117 22 59 111 77
+12 5 0 0 8 87 34 94 119 59 12 64 111
+13 5 0 0 8 54 84 53 21 117 119 108 81
+14 5 0 0 8 84 36 13 53 119 94 66 108
+15 5 0 0 8 117 119 108 81 77 111 78 27
+16 5 0 0 8 119 94 66 108 111 64 24 78
+17 5 0 0 8 10 58 113 60 31 88 120 91
+18 5 0 0 8 58 22 77 113 88 57 116 120
+19 5 0 0 8 31 88 120 91 3 38 98 40
+20 5 0 0 8 88 57 116 120 38 14 70 98
+21 5 0 0 8 60 113 79 23 91 120 107 63
+22 5 0 0 8 113 77 27 79 120 116 80 107
+23 5 0 0 8 91 120 107 63 40 98 68 15
+24 5 0 0 8 120 116 80 107 98 70 25 68
+25 5 0 0 8 22 59 111 77 57 89 121 116
+26 5 0 0 8 59 12 64 111 89 35 95 121
+27 5 0 0 8 57 89 121 116 14 39 100 70
+28 5 0 0 8 89 35 95 121 39 4 42 100
+29 5 0 0 8 77 111 78 27 116 121 106 80
+30 5 0 0 8 111 64 24 78 121 95 67 106
+31 5 0 0 8 116 121 106 80 70 100 69 25
+32 5 0 0 8 121 95 67 106 100 42 16 69
+33 5 0 0 8 11 52 83 33 62 109 122 92
+34 5 0 0 8 52 21 55 83 109 81 115 122
+35 5 0 0 8 62 109 122 92 23 79 112 61
+36 5 0 0 8 109 81 115 122 79 27 76 112
+37 5 0 0 8 33 83 44 5 92 122 102 46
+38 5 0 0 8 83 55 17 44 122 115 72 102
+39 5 0 0 8 92 122 102 46 61 112 74 18
+40 5 0 0 8 122 115 72 102 112 76 26 74
+41 5 0 0 8 21 53 85 55 81 108 123 115
+42 5 0 0 8 53 13 37 85 108 66 96 123
+43 5 0 0 8 81 108 123 115 27 78 110 76
+44 5 0 0 8 108 66 96 123 78 24 65 110
+45 5 0 0 8 55 85 45 17 115 123 103 72
+46 5 0 0 8 85 37 6 45 123 96 48 103
+47 5 0 0 8 115 123 103 72 76 110 75 26
+48 5 0 0 8 123 96 48 103 110 65 19 75
+49 5 0 0 8 23 79 112 61 63 107 124 93
+50 5 0 0 8 79 27 76 112 107 80 114 124
+51 5 0 0 8 63 107 124 93 15 68 99 41
+52 5 0 0 8 107 80 114 124 68 25 71 99
+53 5 0 0 8 61 112 74 18 93 124 104 47
+54 5 0 0 8 112 76 26 74 124 114 73 104
+55 5 0 0 8 93 124 104 47 41 99 50 7
+56 5 0 0 8 124 114 73 104 99 71 20 50
+57 5 0 0 8 27 78 110 76 80 106 125 114
+58 5 0 0 8 78 24 65 110 106 67 97 125
+59 5 0 0 8 80 106 125 114 25 69 101 71
+60 5 0 0 8 106 67 97 125 69 16 43 101
+61 5 0 0 8 76 110 75 26 114 125 105 73
+62 5 0 0 8 110 65 19 75 125 97 49 105
+63 5 0 0 8 114 125 105 73 71 101 51 20
+64 5 0 0 8 125 97 49 105 101 43 8 51
+$ENDELM
--- /dev/null
+//---------------------------- function_manifold_chart ---------------------------
+// Copyright (C) 2011, 2013 by the mathLab team.
+//
+// This file is subject to LGPL and may not be distributed
+// without copyright and license information. Please refer
+// to the file deal.II/doc/license.html for the text and
+// further information on this license.
+//
+//---------------------------- function_manifold_chart ---------------------------
+
+
+// Test the identity Manifold.
+
+#include "../tests.h"
+#include <fstream>
+#include <base/logstream.h>
+
+
+// all include files you need here
+#include <deal.II/grid/tria.h>
+#include <deal.II/grid/tria_accessor.h>
+#include <deal.II/grid/tria_iterator.h>
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/grid/tria_boundary_lib.h>
+#include <deal.II/grid/manifold_lib.h>
+#include <deal.II/grid/grid_out.h>
+
+// Helper function
+template <int dim, int spacedim>
+void test(unsigned int ref=1)
+{
+ deallog << "Testing dim " << dim
+ << ", spacedim " << spacedim << std::endl;
+
+ // Here the only allowed axis is z. In cylinder the default is x.
+ std::string push_forward_expression;
+ std::string pull_back_expression;
+
+ switch(spacedim) {
+ case 2:
+ push_forward_expression = "x^2; y^2";
+ pull_back_expression = "sqrt(x); sqrt(y)";
+ break;
+ case 3:
+ push_forward_expression = "x^2; y^2; z^2";
+ pull_back_expression = "sqrt(x); sqrt(y); sqrt(z)";
+ break;
+ default:
+ Assert(false, ExcInternalError());
+ }
+
+ FunctionManifoldChart<dim,spacedim,spacedim> manifold(push_forward_expression,
+ pull_back_expression);
+
+ Triangulation<dim,spacedim> tria;
+ GridGenerator::hyper_cube (tria, 0, 1);
+
+ for(auto cell = tria.begin_active(); cell != tria.end(); ++cell) {
+ cell->set_all_manifold_ids(1);
+ }
+
+ tria.set_manifold(1, manifold);
+ tria.refine_global(2);
+
+ GridOut gridout;
+ gridout.write_msh(tria, deallog.get_file_stream());
+}
+
+int main ()
+{
+ std::ofstream logfile("output");
+ deallog.attach(logfile);
+ deallog.depth_console(0);
+ deallog.threshold_double(1.e-10);
+
+
+ test<2,2>();
+ test<3,3>();
+
+ return 0;
+}
+
--- /dev/null
+
+DEAL::Testing dim 2, spacedim 2
+$NOD
+25
+1 0.00000 0.00000 0
+2 1.00000 0.00000 0
+3 0.00000 1.00000 0
+4 1.00000 1.00000 0
+5 0.250000 0.00000 0
+6 0.00000 0.250000 0
+7 1.00000 0.250000 0
+8 0.250000 1.00000 0
+9 0.250000 0.250000 0
+10 0.0625000 0.00000 0
+11 0.562500 0.00000 0
+12 0.00000 0.0625000 0
+13 0.00000 0.562500 0
+14 1.00000 0.0625000 0
+15 1.00000 0.562500 0
+16 0.0625000 1.00000 0
+17 0.562500 1.00000 0
+18 0.250000 0.0625000 0
+19 0.250000 0.562500 0
+20 0.0625000 0.250000 0
+21 0.562500 0.250000 0
+22 0.0625000 0.0625000 0
+23 0.562500 0.0625000 0
+24 0.0625000 0.562500 0
+25 0.562500 0.562500 0
+$ENDNOD
+$ELM
+16
+1 3 0 0 4 1 10 22 12
+2 3 0 0 4 10 5 18 22
+3 3 0 0 4 12 22 20 6
+4 3 0 0 4 22 18 9 20
+5 3 0 0 4 5 11 23 18
+6 3 0 0 4 11 2 14 23
+7 3 0 0 4 18 23 21 9
+8 3 0 0 4 23 14 7 21
+9 3 0 0 4 6 20 24 13
+10 3 0 0 4 20 9 19 24
+11 3 0 0 4 13 24 16 3
+12 3 0 0 4 24 19 8 16
+13 3 0 0 4 9 21 25 19
+14 3 0 0 4 21 7 15 25
+15 3 0 0 4 19 25 17 8
+16 3 0 0 4 25 15 4 17
+$ENDELM
+DEAL::Testing dim 3, spacedim 3
+$NOD
+125
+1 0.00000 0.00000 0.00000
+2 1.00000 0.00000 0.00000
+3 0.00000 1.00000 0.00000
+4 1.00000 1.00000 0.00000
+5 0.00000 0.00000 1.00000
+6 1.00000 0.00000 1.00000
+7 0.00000 1.00000 1.00000
+8 1.00000 1.00000 1.00000
+9 0.250000 0.00000 0.00000
+10 0.00000 0.250000 0.00000
+11 0.00000 0.00000 0.250000
+12 1.00000 0.250000 0.00000
+13 1.00000 0.00000 0.250000
+14 0.250000 1.00000 0.00000
+15 0.00000 1.00000 0.250000
+16 1.00000 1.00000 0.250000
+17 0.250000 0.00000 1.00000
+18 0.00000 0.250000 1.00000
+19 1.00000 0.250000 1.00000
+20 0.250000 1.00000 1.00000
+21 0.250000 0.00000 0.250000
+22 0.250000 0.250000 0.00000
+23 0.00000 0.250000 0.250000
+24 1.00000 0.250000 0.250000
+25 0.250000 1.00000 0.250000
+26 0.250000 0.250000 1.00000
+27 0.250000 0.250000 0.250000
+28 0.0625000 0.00000 0.00000
+29 0.562500 0.00000 0.00000
+30 0.00000 0.0625000 0.00000
+31 0.00000 0.562500 0.00000
+32 0.00000 0.00000 0.0625000
+33 0.00000 0.00000 0.562500
+34 1.00000 0.0625000 0.00000
+35 1.00000 0.562500 0.00000
+36 1.00000 0.00000 0.0625000
+37 1.00000 0.00000 0.562500
+38 0.0625000 1.00000 0.00000
+39 0.562500 1.00000 0.00000
+40 0.00000 1.00000 0.0625000
+41 0.00000 1.00000 0.562500
+42 1.00000 1.00000 0.0625000
+43 1.00000 1.00000 0.562500
+44 0.0625000 0.00000 1.00000
+45 0.562500 0.00000 1.00000
+46 0.00000 0.0625000 1.00000
+47 0.00000 0.562500 1.00000
+48 1.00000 0.0625000 1.00000
+49 1.00000 0.562500 1.00000
+50 0.0625000 1.00000 1.00000
+51 0.562500 1.00000 1.00000
+52 0.0625000 0.00000 0.250000
+53 0.562500 0.00000 0.250000
+54 0.250000 0.00000 0.0625000
+55 0.250000 0.00000 0.562500
+56 0.250000 0.0625000 0.00000
+57 0.250000 0.562500 0.00000
+58 0.0625000 0.250000 0.00000
+59 0.562500 0.250000 0.00000
+60 0.00000 0.250000 0.0625000
+61 0.00000 0.250000 0.562500
+62 0.00000 0.0625000 0.250000
+63 0.00000 0.562500 0.250000
+64 1.00000 0.250000 0.0625000
+65 1.00000 0.250000 0.562500
+66 1.00000 0.0625000 0.250000
+67 1.00000 0.562500 0.250000
+68 0.0625000 1.00000 0.250000
+69 0.562500 1.00000 0.250000
+70 0.250000 1.00000 0.0625000
+71 0.250000 1.00000 0.562500
+72 0.250000 0.0625000 1.00000
+73 0.250000 0.562500 1.00000
+74 0.0625000 0.250000 1.00000
+75 0.562500 0.250000 1.00000
+76 0.250000 0.250000 0.562500
+77 0.250000 0.250000 0.0625000
+78 0.562500 0.250000 0.250000
+79 0.0625000 0.250000 0.250000
+80 0.250000 0.562500 0.250000
+81 0.250000 0.0625000 0.250000
+82 0.0625000 0.00000 0.0625000
+83 0.0625000 0.00000 0.562500
+84 0.562500 0.00000 0.0625000
+85 0.562500 0.00000 0.562500
+86 0.0625000 0.0625000 0.00000
+87 0.562500 0.0625000 0.00000
+88 0.0625000 0.562500 0.00000
+89 0.562500 0.562500 0.00000
+90 0.00000 0.0625000 0.0625000
+91 0.00000 0.562500 0.0625000
+92 0.00000 0.0625000 0.562500
+93 0.00000 0.562500 0.562500
+94 1.00000 0.0625000 0.0625000
+95 1.00000 0.562500 0.0625000
+96 1.00000 0.0625000 0.562500
+97 1.00000 0.562500 0.562500
+98 0.0625000 1.00000 0.0625000
+99 0.0625000 1.00000 0.562500
+100 0.562500 1.00000 0.0625000
+101 0.562500 1.00000 0.562500
+102 0.0625000 0.0625000 1.00000
+103 0.562500 0.0625000 1.00000
+104 0.0625000 0.562500 1.00000
+105 0.562500 0.562500 1.00000
+106 0.562500 0.562500 0.250000
+107 0.0625000 0.562500 0.250000
+108 0.562500 0.0625000 0.250000
+109 0.0625000 0.0625000 0.250000
+110 0.562500 0.250000 0.562500
+111 0.562500 0.250000 0.0625000
+112 0.0625000 0.250000 0.562500
+113 0.0625000 0.250000 0.0625000
+114 0.250000 0.562500 0.562500
+115 0.250000 0.0625000 0.562500
+116 0.250000 0.562500 0.0625000
+117 0.250000 0.0625000 0.0625000
+118 0.0625000 0.0625000 0.0625000
+119 0.562500 0.0625000 0.0625000
+120 0.0625000 0.562500 0.0625000
+121 0.562500 0.562500 0.0625000
+122 0.0625000 0.0625000 0.562500
+123 0.562500 0.0625000 0.562500
+124 0.0625000 0.562500 0.562500
+125 0.562500 0.562500 0.562500
+$ENDNOD
+$ELM
+64
+1 5 0 0 8 1 28 82 32 30 86 118 90
+2 5 0 0 8 28 9 54 82 86 56 117 118
+3 5 0 0 8 30 86 118 90 10 58 113 60
+4 5 0 0 8 86 56 117 118 58 22 77 113
+5 5 0 0 8 32 82 52 11 90 118 109 62
+6 5 0 0 8 82 54 21 52 118 117 81 109
+7 5 0 0 8 90 118 109 62 60 113 79 23
+8 5 0 0 8 118 117 81 109 113 77 27 79
+9 5 0 0 8 9 29 84 54 56 87 119 117
+10 5 0 0 8 29 2 36 84 87 34 94 119
+11 5 0 0 8 56 87 119 117 22 59 111 77
+12 5 0 0 8 87 34 94 119 59 12 64 111
+13 5 0 0 8 54 84 53 21 117 119 108 81
+14 5 0 0 8 84 36 13 53 119 94 66 108
+15 5 0 0 8 117 119 108 81 77 111 78 27
+16 5 0 0 8 119 94 66 108 111 64 24 78
+17 5 0 0 8 10 58 113 60 31 88 120 91
+18 5 0 0 8 58 22 77 113 88 57 116 120
+19 5 0 0 8 31 88 120 91 3 38 98 40
+20 5 0 0 8 88 57 116 120 38 14 70 98
+21 5 0 0 8 60 113 79 23 91 120 107 63
+22 5 0 0 8 113 77 27 79 120 116 80 107
+23 5 0 0 8 91 120 107 63 40 98 68 15
+24 5 0 0 8 120 116 80 107 98 70 25 68
+25 5 0 0 8 22 59 111 77 57 89 121 116
+26 5 0 0 8 59 12 64 111 89 35 95 121
+27 5 0 0 8 57 89 121 116 14 39 100 70
+28 5 0 0 8 89 35 95 121 39 4 42 100
+29 5 0 0 8 77 111 78 27 116 121 106 80
+30 5 0 0 8 111 64 24 78 121 95 67 106
+31 5 0 0 8 116 121 106 80 70 100 69 25
+32 5 0 0 8 121 95 67 106 100 42 16 69
+33 5 0 0 8 11 52 83 33 62 109 122 92
+34 5 0 0 8 52 21 55 83 109 81 115 122
+35 5 0 0 8 62 109 122 92 23 79 112 61
+36 5 0 0 8 109 81 115 122 79 27 76 112
+37 5 0 0 8 33 83 44 5 92 122 102 46
+38 5 0 0 8 83 55 17 44 122 115 72 102
+39 5 0 0 8 92 122 102 46 61 112 74 18
+40 5 0 0 8 122 115 72 102 112 76 26 74
+41 5 0 0 8 21 53 85 55 81 108 123 115
+42 5 0 0 8 53 13 37 85 108 66 96 123
+43 5 0 0 8 81 108 123 115 27 78 110 76
+44 5 0 0 8 108 66 96 123 78 24 65 110
+45 5 0 0 8 55 85 45 17 115 123 103 72
+46 5 0 0 8 85 37 6 45 123 96 48 103
+47 5 0 0 8 115 123 103 72 76 110 75 26
+48 5 0 0 8 123 96 48 103 110 65 19 75
+49 5 0 0 8 23 79 112 61 63 107 124 93
+50 5 0 0 8 79 27 76 112 107 80 114 124
+51 5 0 0 8 63 107 124 93 15 68 99 41
+52 5 0 0 8 107 80 114 124 68 25 71 99
+53 5 0 0 8 61 112 74 18 93 124 104 47
+54 5 0 0 8 112 76 26 74 124 114 73 104
+55 5 0 0 8 93 124 104 47 41 99 50 7
+56 5 0 0 8 124 114 73 104 99 71 20 50
+57 5 0 0 8 27 78 110 76 80 106 125 114
+58 5 0 0 8 78 24 65 110 106 67 97 125
+59 5 0 0 8 80 106 125 114 25 69 101 71
+60 5 0 0 8 106 67 97 125 69 16 43 101
+61 5 0 0 8 76 110 75 26 114 125 105 73
+62 5 0 0 8 110 65 19 75 125 97 49 105
+63 5 0 0 8 114 125 105 73 71 101 51 20
+64 5 0 0 8 125 97 49 105 101 43 8 51
+$ENDELM