Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Trying to make old MSG exemples run on top on SURF. Definitely need to wax it more...
authoralegrand <alegrand@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 21 Dec 2004 21:46:49 +0000 (21:46 +0000)
committeralegrand <alegrand@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 21 Dec 2004 21:46:49 +0000 (21:46 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@692 48e7efb5-ca39-0410-a469-dd3cf9ba447f

testsuite/msg/messages.h [new file with mode: 0644]
testsuite/msg/msg_deployment.txt [new file with mode: 0644]
testsuite/msg/msg_platform.txt [new file with mode: 0644]
testsuite/msg/msg_test.c [new file with mode: 0644]

diff --git a/testsuite/msg/messages.h b/testsuite/msg/messages.h
new file mode 100644 (file)
index 0000000..5571a68
--- /dev/null
@@ -0,0 +1,59 @@
+/**** MSG_LICENCE DO NOT REMOVE ****/
+
+#ifndef MESSAGES_H
+#define MESSAGES_H
+
+#include <stdio.h>
+#include <stdarg.h>
+#include "msg/datatypes.h"
+#include "xbt/error.h"
+
+static void DIE(const char *fmt, ...)
+{
+  m_process_t self = MSG_process_self();
+  va_list ap;
+
+  va_start(ap, fmt);
+  if (self)
+    fprintf(stderr, "[%Lg] P%d | ", MSG_getClock(),
+           MSG_process_get_PID(self));
+  vfprintf(stderr, fmt, ap);
+  va_end(ap);
+
+  xbt_abort();
+  return;
+}
+
+static void PRINT_MESSAGE(const char *fmt, ...)
+{
+#ifdef VERBOSE
+  m_process_t self = MSG_process_self();
+  va_list ap;
+
+  va_start(ap, fmt);
+  if (self)
+    fprintf(stderr, "[%Lg] P%d | ", MSG_getClock(),
+           MSG_process_get_PID(self));
+  vfprintf(stderr, fmt, ap);
+  va_end(ap);
+#endif
+  return;
+}
+
+static void PRINT_DEBUG_MESSAGE(const char *fmt, ...)
+{
+#ifdef VERBOSE
+  m_process_t self = MSG_process_self();
+  va_list ap;
+
+  va_start(ap, fmt);
+  if (self)
+    fprintf(stderr, "DEBUG [%Lg] P%d | ", MSG_getClock(),
+           MSG_process_get_PID(self));
+  vfprintf(stderr, fmt, ap);
+  va_end(ap);
+#endif
+  return;
+}
+
+#endif
diff --git a/testsuite/msg/msg_deployment.txt b/testsuite/msg/msg_deployment.txt
new file mode 100644 (file)
index 0000000..fa59a14
--- /dev/null
@@ -0,0 +1,6 @@
+<DEPLOYMENT>
+  121  master 70 125 62
+  70 slave
+  125 slave
+  62  slave
+</DEPLOYMENT>
\ No newline at end of file
diff --git a/testsuite/msg/msg_platform.txt b/testsuite/msg/msg_platform.txt
new file mode 100644 (file)
index 0000000..e99240e
--- /dev/null
@@ -0,0 +1,1287 @@
+<CPU>
+  125 137.333 1.0 "" ON ""
+  95 171.667 1.0 "" ON ""
+  109 137.333 1.0 "" ON ""
+  175 114.444 1.0 "" ON ""
+  157 98.094999999999999 1.0 "" ON ""
+  81 34.333 1.0 "" ON ""
+  62 114.444 1.0 "" ON ""
+  165 98.094999999999999 1.0 "" ON ""
+  168 42.917000000000002 1.0 "" ON ""
+  112 76.296000000000006 1.0 "" ON ""
+  69 114.444 1.0 "" ON ""
+  145 114.444 1.0 "" ON ""
+  178 98.094999999999999 1.0 "" ON ""
+  124 137.333 1.0 "" ON ""
+  131 76.296000000000006 1.0 "" ON ""
+  121 85.832999999999998 1.0 "" ON ""
+  98 22.151 1.0 "" ON ""
+  170 34.333 1.0 "" ON ""
+  63 68.667000000000002 1.0 "" ON ""
+  162 114.444 1.0 "" ON ""
+  61 68.667000000000002 1.0 "" ON ""
+  107 42.917000000000002 1.0 "" ON ""
+  87 68.667000000000002 1.0 "" ON ""
+  77 48.492 1.0 "" ON ""
+  70 85.832999999999998 1.0 "" ON ""
+  88 76.296000000000006 1.0 "" ON ""
+  156 22.151 1.0 "" ON ""
+  83 114.444 1.0 "" ON ""
+  177 114.444 1.0 "" ON ""
+  150 42.917000000000002 1.0 "" ON ""
+  85 114.444 1.0 "" ON ""
+  111 137.333 1.0 "" ON ""
+  169 34.333 1.0 "" ON ""
+</CPU>
+<NETWORK>
+  127 4.133375 "" 9.693542 "" ON ""
+  32 27.94625 "" 0.278066 "" ON ""
+  90 34.285625 "" 0.514433 "" ON ""
+  118 3.275625 "" 0.658142 "" ON ""
+  71 15.376875 "" 35.083019 "" ON ""
+  102 1.04925 "" 9.647856 "" ON ""
+  18 118.6825 "" 0.136931 "" ON ""
+  125 3.29775 "" 0.595883 "" ON ""
+  16 41.279125 "" 0.059904 "" ON ""
+  44 10.314625 "" 6.932556 "" ON ""
+  55 8.015125 "" 35.076518 "" ON ""
+  84 8.015125 "" 35.076518 "" ON ""
+  27 10.099625 "" 0.47978 "" ON ""
+  190 0.76875 "" 8.76244 "" ON ""
+  161 2.179125 "" 0.320114 "" ON ""
+  95 3.71425 "" 3.866813 "" ON ""
+  57 34.285625 "" 0.514433 "" ON ""
+  20 132.977875 "" 0.131098 "" ON ""
+  163 5.7585 "" 4.760145 "" ON ""
+  109 1.326125 "" 1.402769 "" ON ""
+  151 6.777 "" 0.53334 "" ON ""
+  89 41.279125 "" 0.059904 "" ON ""
+  175 1.892625 "" 0.162735 "" ON ""
+  148 5.299 "" 0.520693 "" ON ""
+  31 34.285625 "" 0.514433 "" ON ""
+  35 11.845375 "" 0.370788 "" ON ""
+  11 41.279125 "" 0.059904 "" ON ""
+  78 10.314625 "" 6.932556 "" ON ""
+  93 0.979625 "" 0.424305 "" ON ""
+  106 3.37125 "" 0.666676 "" ON ""
+  157 2.227375 "" 0.90712 "" ON ""
+  65 34.285625 "" 0.514433 "" ON ""
+  29 8.015125 "" 35.076518 "" ON ""
+  138 1.8855 "" 0.950938 "" ON ""
+  114 3.275625 "" 0.658142 "" ON ""
+  58 11.618875 "" 0.18998 "" ON ""
+  153 1.62775 "" 0.278175 "" ON ""
+  15 118.6825 "" 0.136931 "" ON ""
+  137 1.4655 "" 0.863872 "" ON ""
+  81 11.845375 "" 0.370788 "" ON ""
+  60 10.314625 "" 6.932556 "" ON ""
+  101 0.117125 "" 53.930106 "" ON ""
+  73 8.42725 "" 0.156056 "" ON ""
+  86 8.158 "" 0.270544 "" ON ""
+  76 10.099625 "" 0.47978 "" ON ""
+  62 8.42725 "" 0.156056 "" ON ""
+  67 41.279125 "" 0.059904 "" ON ""
+  165 1.51525 "" 0.844683 "" ON ""
+  139 1.126875 "" 0.28784 "" ON ""
+  129 0.578625 "" 5.473705 "" ON ""
+  2 41.279125 "" 0.059904 "" ON ""
+  17 118.6825 "" 0.136931 "" ON ""
+  186 5.299 "" 0.520693 "" ON ""
+  110 3.9315 "" 1.913591 "" ON ""
+  82 8.158 "" 0.270544 "" ON ""
+  147 0.274375 "" 4.669142 "" ON ""
+  168 2.368 "" 9.547561 "" ON ""
+  184 1.931125 "" 0.95183 "" ON ""
+  135 0.605 "" 87.981858 "" ON ""
+  14 118.6825 "" 0.136931 "" ON ""
+  112 3.430125 "" 0.536941 "" ON ""
+  69 11.618875 "" 0.18998 "" ON ""
+  191 1.23025 "" 1.502106 "" ON ""
+  172 1.8855 "" 0.950938 "" ON ""
+  145 2.227375 "" 0.90712 "" ON ""
+  49 34.285625 "" 0.514433 "" ON ""
+  178 0.578625 "" 5.473705 "" ON ""
+  24 34.285625 "" 0.514433 "" ON ""
+  187 0.303375 "" 4.062241 "" ON ""
+  140 1.469125 "" 1.114548 "" ON ""
+  124 2.227375 "" 0.90712 "" ON ""
+  104 0.253125 "" 5.652577 "" ON ""
+  131 0.253125 "" 5.652577 "" ON ""
+  181 5.816375 "" 0.164758 "" ON ""
+  121 3.9315 "" 1.913591 "" ON ""
+  79 8.42725 "" 0.156056 "" ON ""
+  154 0.251625 "" 4.455826 "" ON ""
+  0 255.228625 "" 7.413073 "" ON ""
+  23 8.42725 "" 0.156056 "" ON ""
+  96 0.926625 "" 0.601375 "" ON ""
+  126 1.04925 "" 9.647856 "" ON ""
+  159 0.556 "" 3.101854 "" ON ""
+  160 0.251625 "" 4.455826 "" ON ""
+  176 2.3485 "" 0.259761 "" ON ""
+  47 11.618875 "" 0.18998 "" ON ""
+  8 34.285625 "" 0.514433 "" ON ""
+  98 2.227375 "" 0.90712 "" ON ""
+  37 8.42725 "" 0.156056 "" ON ""
+  117 1.04925 "" 9.647856 "" ON ""
+  43 10.314625 "" 6.932556 "" ON ""
+  5 255.228625 "" 7.413073 "" ON ""
+  170 7.20975 "" 1.461517 "" ON ""
+  33 27.94625 "" 0.278066 "" ON ""
+  21 41.279125 "" 0.059904 "" ON ""
+  63 10.099625 "" 0.47978 "" ON ""
+  7 255.228625 "" 7.413073 "" ON ""
+  26 34.285625 "" 0.514433 "" ON ""
+  80 8.42725 "" 0.156056 "" ON ""
+  119 5.18975 "" 0.630529 "" ON ""
+  180 1.8855 "" 0.950938 "" ON ""
+  99 1.281875 "" 6.104672 "" ON ""
+  179 1.467625 "" 0.869727 "" ON ""
+  162 1.51525 "" 0.844683 "" ON ""
+  72 21.41475 "" 295.890617 "" ON ""
+  74 41.279125 "" 0.059904 "" ON ""
+  182 1.4655 "" 0.863872 "" ON ""
+  61 8.015125 "" 35.076518 "" ON ""
+  108 3.37125 "" 0.666676 "" ON ""
+  115 0.721625 "" 0.006406 "" ON ""
+  92 2.179125 "" 0.320114 "" ON ""
+  103 0.9905 "" 1.742977 "" ON ""
+  10 132.977875 "" 0.131098 "" ON ""
+  113 6.551 "" 0.522878 "" ON ""
+  152 0.253125 "" 5.652577 "" ON ""
+  189 5.228375 "" 0.039417 "" ON ""
+  142 0.76875 "" 8.76244 "" ON ""
+  91 41.279125 "" 0.059904 "" ON ""
+  167 0.578625 "" 5.473705 "" ON ""
+  48 15.376875 "" 35.083019 "" ON ""
+  107 2.3485 "" 0.259761 "" ON ""
+  87 41.279125 "" 0.059904 "" ON ""
+  174 0.317375 "" 4.583831 "" ON ""
+  77 10.099625 "" 0.47978 "" ON ""
+  133 1.931125 "" 0.95183 "" ON ""
+  149 0.274375 "" 4.669142 "" ON ""
+  123 4.27025 "" 0.672289 "" ON ""
+  50 10.314625 "" 6.932556 "" ON ""
+  39 8.42725 "" 0.156056 "" ON ""
+  64 11.845375 "" 0.370788 "" ON ""
+  97 1.23025 "" 1.502106 "" ON ""
+  12 118.6825 "" 0.136931 "" ON ""
+  41 15.376875 "" 35.083019 "" ON ""
+  52 11.845375 "" 0.370788 "" ON ""
+  173 4.416625 "" 0.019773 "" ON ""
+  56 10.314625 "" 6.932556 "" ON ""
+  45 10.314625 "" 6.932556 "" ON ""
+  66 27.94625 "" 0.278066 "" ON ""
+  19 132.977875 "" 0.131098 "" ON ""
+  54 8.158 "" 0.270544 "" ON ""
+  70 27.94625 "" 0.278066 "" ON ""
+  188 2.583375 "" 0.410463 "" ON ""
+  68 27.94625 "" 0.278066 "" ON ""
+  166 0.605 "" 87.981858 "" ON ""
+  1 132.977875 "" 0.131098 "" ON ""
+  136 1.469125 "" 1.114548 "" ON ""
+  88 34.285625 "" 0.514433 "" ON ""
+  116 0.578625 "" 5.473705 "" ON ""
+  144 1.281875 "" 6.104672 "" ON ""
+  141 2.583375 "" 0.410463 "" ON ""
+  30 11.845375 "" 0.370788 "" ON ""
+  100 3.068375 "" 0.0403 "" ON ""
+  25 27.94625 "" 0.278066 "" ON ""
+  128 0.9905 "" 1.742977 "" ON ""
+  28 15.376875 "" 35.083019 "" ON ""
+  120 0.9905 "" 1.742977 "" ON ""
+  156 2.23825 "" 1.043314 "" ON ""
+  134 1.04925 "" 9.647856 "" ON ""
+  40 11.845375 "" 0.370788 "" ON ""
+  75 41.279125 "" 0.059904 "" ON ""
+  83 11.845375 "" 0.370788 "" ON ""
+  59 21.41475 "" 295.890617 "" ON ""
+  177 3.9955 "" 0.678645 "" ON ""
+  150 4.817 "" 0.117352 "" ON ""
+  155 3.9315 "" 1.913591 "" ON ""
+  130 1.858 "" 0.820952 "" ON ""
+  53 8.42725 "" 0.156056 "" ON ""
+  122 3.068375 "" 0.0403 "" ON ""
+  143 1.326125 "" 1.402769 "" ON ""
+  158 3.8775 "" 0.863123 "" ON ""
+  42 10.314625 "" 6.932556 "" ON ""
+  22 11.845375 "" 0.370788 "" ON ""
+  46 10.314625 "" 6.932556 "" ON ""
+  13 41.279125 "" 0.059904 "" ON ""
+  105 0.272375 "" 5.922616 "" ON ""
+  6 255.228625 "" 7.413073 "" ON ""
+  85 41.279125 "" 0.059904 "" ON ""
+  185 1.281875 "" 6.104672 "" ON ""
+  36 8.158 "" 0.270544 "" ON ""
+  3 118.6825 "" 0.136931 "" ON ""
+  183 1.281875 "" 6.104672 "" ON ""
+  94 3.275625 "" 0.658142 "" ON ""
+  146 5.574625 "" 0.22743 "" ON ""
+  51 8.158 "" 0.270544 "" ON ""
+  9 41.279125 "" 0.059904 "" ON ""
+  111 2.227375 "" 0.90712 "" ON ""
+  38 11.618875 "" 0.18998 "" ON ""
+  4 41.279125 "" 0.059904 "" ON ""
+  34 41.279125 "" 0.059904 "" ON ""
+  169 4.840375 "" 0.75181 "" ON ""
+  164 0.605 "" 87.981858 "" ON ""
+  132 0.472125 "" 5.161451 "" ON ""
+  171 0.253125 "" 5.652577 "" ON ""
+</NETWORK>
+<ROUTE>
+  125 95 (59 56 54 17 16 10 6 8 48 38 41)
+  125 109 (59 56 54 17 16 10 6 8 42 43 131)
+  125 175 (59 56 54 17 16 10 6 9 79 78 80 82 91)
+  125 157 (59 56 54 2 3 69 64 65 72 169)
+  125 81 (59 56 54 17 16 10 6 7 19 28 27 30 32 33 108)
+  125 62 (59 56 54 17 16 10 6 7 19 28 29 93)
+  125 165 (59 56 54 17 16 10 6 9 79 78 80 82 87 88 90)
+  125 168 (59 56 54 17 16 10 6 9 79 78 80 82 87 88 90 178)
+  125 112 (59 58 62 133)
+  125 69 (59 56 54 17 16 10 6 7 19 28 27 30 34 99)
+  125 145 (59 56 54 2 3 70)
+  125 178 (59 56 54 17 16 10 6 9 79 78 80 82 91 186)
+  125 124 (59 56 57 143)
+  125 131 (59 56 54 52 53 148)
+  125 121 (59 56 57 140)
+  125 98 (59 56 54 17 16 10 6 8 48 38 41 122)
+  125 170 (59 56 54 17 16 10 6 9 79 78 81)
+  125 63 (59 56 54 17 16 10 6 7 19 28 29 94)
+  125 162 (59 56 54 17 16 10 6 9 79 78 80 82 87 88 89 173)
+  125 61 (59 56 54 17 16 10 6 7 19 28 29 92)
+  125 107 (59 56 54 17 16 10 6 8 42 43 129)
+  125 87 (59 56 54 17 16 10 6 8 48 38 40 113)
+  125 77 (59 56 54 17 16 10 6 7 19 28 27 31 105)
+  125 70 (59 56 54 17 16 10 6 7 19 28 27 30 35)
+  125 88 (59 56 54 17 16 10 6 8 48 38 40 114)
+  125 156 (59 56 54 2 3 69 64 65 72 168)
+  125 83 (59 56 54 17 16 10 6 7 19 28 27 30 32 33 110)
+  125 177 (59 56 54 17 16 10 6 9 79 78 80 82 91 185)
+  125 150 (59 56 54 2 1 15 76)
+  125 85 (59 56 54 17 16 10 6 8 48 38 40)
+  125 111 (59 58 62 132)
+  125 169 (59 56 54 17 16 10 6 9 79 78 80 82 87 88 90 179)
+  95 125 (41 38 48 8 6 10 16 17 54 56 59)
+  95 109 (41 38 48 42 43 131)
+  95 175 (41 38 48 8 9 79 78 80 82 91)
+  95 157 (41 38 48 8 6 10 16 0 3 69 64 65 72 169)
+  95 81 (41 38 48 8 7 19 28 27 30 32 33 108)
+  95 62 (41 38 48 8 7 19 28 29 93)
+  95 165 (41 38 48 8 9 79 78 80 82 87 88 90)
+  95 168 (41 38 48 8 9 79 78 80 82 87 88 90 178)
+  95 112 (41 38 48 8 6 10 16 17 54 56 58 62 133)
+  95 69 (41 38 48 8 7 19 28 27 30 34 99)
+  95 145 (41 38 48 8 6 10 16 0 3 70)
+  95 178 (41 38 48 8 9 79 78 80 82 91 186)
+  95 124 (41 38 48 8 6 10 16 17 54 57 143)
+  95 131 (41 38 48 8 6 10 16 17 52 53 148)
+  95 121 (41 38 48 8 6 10 16 17 54 57 140)
+  95 98 (122)
+  95 170 (41 38 48 8 9 79 78 81)
+  95 63 (41 38 48 8 7 19 28 29 94)
+  95 162 (41 38 48 8 9 79 78 80 82 87 88 89 173)
+  95 61 (41 38 48 8 7 19 28 29 92)
+  95 107 (41 38 48 42 43 129)
+  95 87 (41 40 113)
+  95 77 (41 38 48 8 7 19 28 27 31 105)
+  95 70 (41 38 48 8 7 19 28 27 30 35)
+  95 88 (41 40 114)
+  95 156 (41 38 48 8 6 10 16 0 3 69 64 65 72 168)
+  95 83 (41 38 48 8 7 19 28 27 30 32 33 110)
+  95 177 (41 38 48 8 9 79 78 80 82 91 185)
+  95 150 (41 38 48 8 6 10 16 0 1 15 76)
+  95 85 (41 40)
+  95 111 (41 38 48 8 6 10 16 17 54 56 58 62 132)
+  95 169 (41 38 48 8 9 79 78 80 82 87 88 90 179)
+  109 125 (131 43 42 8 6 10 16 17 54 56 59)
+  109 95 (131 43 42 48 38 41)
+  109 175 (131 43 42 8 9 79 78 80 82 91)
+  109 157 (131 43 42 8 6 10 16 0 3 69 64 65 72 169)
+  109 81 (131 43 42 8 7 19 28 27 30 32 33 108)
+  109 62 (131 43 42 8 7 19 28 29 93)
+  109 165 (131 43 42 8 9 79 78 80 82 87 88 90)
+  109 168 (131 43 42 8 9 79 78 80 82 87 88 90 178)
+  109 112 (131 43 42 8 6 10 16 17 54 56 58 62 133)
+  109 69 (131 43 42 8 7 19 28 27 30 34 99)
+  109 145 (131 43 42 8 6 10 16 0 3 70)
+  109 178 (131 43 42 8 9 79 78 80 82 91 186)
+  109 124 (131 43 42 8 6 10 16 17 54 57 143)
+  109 131 (131 43 42 8 6 10 16 17 52 53 148)
+  109 121 (131 43 42 8 6 10 16 17 54 57 140)
+  109 98 (131 43 42 48 38 41 122)
+  109 170 (131 43 42 8 9 79 78 81)
+  109 63 (131 43 42 8 7 19 28 29 94)
+  109 162 (131 43 42 8 9 79 78 80 82 87 88 89 173)
+  109 61 (131 43 42 8 7 19 28 29 92)
+  109 107 (131 129)
+  109 87 (131 43 42 48 38 40 113)
+  109 77 (131 43 42 8 7 19 28 27 31 105)
+  109 70 (131 43 42 8 7 19 28 27 30 35)
+  109 88 (131 43 42 48 38 40 114)
+  109 156 (131 43 42 8 6 10 16 0 3 69 64 65 72 168)
+  109 83 (131 43 42 8 7 19 28 27 30 32 33 110)
+  109 177 (131 43 42 8 9 79 78 80 82 91 185)
+  109 150 (131 43 42 8 6 10 16 0 1 15 76)
+  109 85 (131 43 42 48 38 40)
+  109 111 (131 43 42 8 6 10 16 17 54 56 58 62 132)
+  109 169 (131 43 42 8 9 79 78 80 82 87 88 90 179)
+  175 125 (91 82 80 78 79 9 6 10 16 17 54 56 59)
+  175 95 (91 82 80 78 79 9 8 48 38 41)
+  175 109 (91 82 80 78 79 9 8 42 43 131)
+  175 157 (91 82 80 78 79 9 6 10 16 0 3 69 64 65 72 169)
+  175 81 (91 82 80 78 79 20 19 28 27 30 32 33 108)
+  175 62 (91 82 80 78 79 20 19 28 29 93)
+  175 165 (91 87 88 90)
+  175 168 (91 87 88 90 178)
+  175 112 (91 82 80 78 79 9 6 10 16 17 54 56 58 62 133)
+  175 69 (91 82 80 78 79 20 19 28 27 30 34 99)
+  175 145 (91 82 80 78 79 9 6 10 16 0 3 70)
+  175 178 (186)
+  175 124 (91 82 80 78 79 9 6 10 16 17 54 57 143)
+  175 131 (91 82 80 78 79 9 6 10 16 17 52 53 148)
+  175 121 (91 82 80 78 79 9 6 10 16 17 54 57 140)
+  175 98 (91 82 80 78 79 9 8 48 38 41 122)
+  175 170 (91 82 80 81)
+  175 63 (91 82 80 78 79 20 19 28 29 94)
+  175 162 (91 87 88 89 173)
+  175 61 (91 82 80 78 79 20 19 28 29 92)
+  175 107 (91 82 80 78 79 9 8 42 43 129)
+  175 87 (91 82 80 78 79 9 8 48 38 40 113)
+  175 77 (91 82 80 78 79 20 19 28 27 31 105)
+  175 70 (91 82 80 78 79 20 19 28 27 30 35)
+  175 88 (91 82 80 78 79 9 8 48 38 40 114)
+  175 156 (91 82 80 78 79 9 6 10 16 0 3 69 64 65 72 168)
+  175 83 (91 82 80 78 79 20 19 28 27 30 32 33 110)
+  175 177 (185)
+  175 150 (91 82 80 78 79 9 6 10 16 0 1 15 76)
+  175 85 (91 82 80 78 79 9 8 48 38 40)
+  175 111 (91 82 80 78 79 9 6 10 16 17 54 56 58 62 132)
+  175 169 (91 87 88 90 179)
+  157 125 (169 72 65 64 69 3 2 54 56 59)
+  157 95 (169 72 65 64 69 3 0 16 10 6 8 48 38 41)
+  157 109 (169 72 65 64 69 3 0 16 10 6 8 42 43 131)
+  157 175 (169 72 65 64 69 3 0 16 10 6 9 79 78 80 82 91)
+  157 81 (169 72 65 64 69 3 0 16 10 6 7 19 28 27 30 32 33 108)
+  157 62 (169 72 65 64 69 3 0 16 10 6 7 19 28 29 93)
+  157 165 (169 72 65 64 69 3 0 16 10 6 9 79 78 80 82 87 88 90)
+  157 168 (169 72 65 64 69 3 0 16 10 6 9 79 78 80 82 87 88 90 178)
+  157 112 (169 72 65 64 69 3 2 54 56 58 62 133)
+  157 69 (169 72 65 64 69 3 0 16 10 6 7 19 28 27 30 34 99)
+  157 145 (169 72 65 64 69 70)
+  157 178 (169 72 65 64 69 3 0 16 10 6 9 79 78 80 82 91 186)
+  157 124 (169 72 65 64 69 3 2 54 57 143)
+  157 131 (169 72 65 64 69 3 2 52 53 148)
+  157 121 (169 72 65 64 69 3 2 54 57 140)
+  157 98 (169 72 65 64 69 3 0 16 10 6 8 48 38 41 122)
+  157 170 (169 72 65 64 69 3 0 16 10 6 9 79 78 81)
+  157 63 (169 72 65 64 69 3 0 16 10 6 7 19 28 29 94)
+  157 162 (169 72 65 64 69 3 0 16 10 6 9 79 78 80 82 87 88 89 173)
+  157 61 (169 72 65 64 69 3 0 16 10 6 7 19 28 29 92)
+  157 107 (169 72 65 64 69 3 0 16 10 6 8 42 43 129)
+  157 87 (169 72 65 64 69 3 0 16 10 6 8 48 38 40 113)
+  157 77 (169 72 65 64 69 3 0 16 10 6 7 19 28 27 31 105)
+  157 70 (169 72 65 64 69 3 0 16 10 6 7 19 28 27 30 35)
+  157 88 (169 72 65 64 69 3 0 16 10 6 8 48 38 40 114)
+  157 156 (169 168)
+  157 83 (169 72 65 64 69 3 0 16 10 6 7 19 28 27 30 32 33 110)
+  157 177 (169 72 65 64 69 3 0 16 10 6 9 79 78 80 82 91 185)
+  157 150 (169 72 65 64 73 74 76)
+  157 85 (169 72 65 64 69 3 0 16 10 6 8 48 38 40)
+  157 111 (169 72 65 64 69 3 2 54 56 58 62 132)
+  157 169 (169 72 65 64 69 3 0 16 10 6 9 79 78 80 82 87 88 90 179)
+  81 125 (108 33 32 30 27 28 19 7 6 10 16 17 54 56 59)
+  81 95 (108 33 32 30 27 28 19 7 8 48 38 41)
+  81 109 (108 33 32 30 27 28 19 7 8 42 43 131)
+  81 175 (108 33 32 30 27 28 19 20 79 78 80 82 91)
+  81 157 (108 33 32 30 27 28 19 7 6 10 16 0 3 69 64 65 72 169)
+  81 62 (108 33 32 30 27 29 93)
+  81 165 (108 33 32 30 27 28 19 20 79 78 80 82 87 88 90)
+  81 168 (108 33 32 30 27 28 19 20 79 78 80 82 87 88 90 178)
+  81 112 (108 33 32 30 27 28 19 7 6 10 16 17 54 56 58 62 133)
+  81 69 (108 33 32 34 99)
+  81 145 (108 33 32 30 27 28 19 7 6 10 16 0 3 70)
+  81 178 (108 33 32 30 27 28 19 20 79 78 80 82 91 186)
+  81 124 (108 33 32 30 27 28 19 7 6 10 16 17 54 57 143)
+  81 131 (108 33 32 30 27 28 19 7 6 10 16 17 52 53 148)
+  81 121 (108 33 32 30 27 28 19 7 6 10 16 17 54 57 140)
+  81 98 (108 33 32 30 27 28 19 7 8 48 38 41 122)
+  81 170 (108 33 32 30 27 28 19 20 79 78 81)
+  81 63 (108 33 32 30 27 29 94)
+  81 162 (108 33 32 30 27 28 19 20 79 78 80 82 87 88 89 173)
+  81 61 (108 33 32 30 27 29 92)
+  81 107 (108 33 32 30 27 28 19 7 8 42 43 129)
+  81 87 (108 33 32 30 27 28 19 7 8 48 38 40 113)
+  81 77 (108 33 32 30 31 105)
+  81 70 (108 33 32 35)
+  81 88 (108 33 32 30 27 28 19 7 8 48 38 40 114)
+  81 156 (108 33 32 30 27 28 19 7 6 10 16 0 3 69 64 65 72 168)
+  81 83 (108 110)
+  81 177 (108 33 32 30 27 28 19 20 79 78 80 82 91 185)
+  81 150 (108 33 32 30 27 28 19 7 6 10 16 0 1 15 76)
+  81 85 (108 33 32 30 27 28 19 7 8 48 38 40)
+  81 111 (108 33 32 30 27 28 19 7 6 10 16 17 54 56 58 62 132)
+  81 169 (108 33 32 30 27 28 19 20 79 78 80 82 87 88 90 179)
+  62 125 (93 29 28 19 7 6 10 16 17 54 56 59)
+  62 95 (93 29 28 19 7 8 48 38 41)
+  62 109 (93 29 28 19 7 8 42 43 131)
+  62 175 (93 29 28 19 20 79 78 80 82 91)
+  62 157 (93 29 28 19 7 6 10 16 0 3 69 64 65 72 169)
+  62 81 (93 29 27 30 32 33 108)
+  62 165 (93 29 28 19 20 79 78 80 82 87 88 90)
+  62 168 (93 29 28 19 20 79 78 80 82 87 88 90 178)
+  62 112 (93 29 28 19 7 6 10 16 17 54 56 58 62 133)
+  62 69 (93 29 27 30 34 99)
+  62 145 (93 29 28 19 7 6 10 16 0 3 70)
+  62 178 (93 29 28 19 20 79 78 80 82 91 186)
+  62 124 (93 29 28 19 7 6 10 16 17 54 57 143)
+  62 131 (93 29 28 19 7 6 10 16 17 52 53 148)
+  62 121 (93 29 28 19 7 6 10 16 17 54 57 140)
+  62 98 (93 29 28 19 7 8 48 38 41 122)
+  62 170 (93 29 28 19 20 79 78 81)
+  62 63 (93 94)
+  62 162 (93 29 28 19 20 79 78 80 82 87 88 89 173)
+  62 61 (93 92)
+  62 107 (93 29 28 19 7 8 42 43 129)
+  62 87 (93 29 28 19 7 8 48 38 40 113)
+  62 77 (93 29 27 31 105)
+  62 70 (93 29 27 30 35)
+  62 88 (93 29 28 19 7 8 48 38 40 114)
+  62 156 (93 29 28 19 7 6 10 16 0 3 69 64 65 72 168)
+  62 83 (93 29 27 30 32 33 110)
+  62 177 (93 29 28 19 20 79 78 80 82 91 185)
+  62 150 (93 29 28 19 7 6 10 16 0 1 15 76)
+  62 85 (93 29 28 19 7 8 48 38 40)
+  62 111 (93 29 28 19 7 6 10 16 17 54 56 58 62 132)
+  62 169 (93 29 28 19 20 79 78 80 82 87 88 90 179)
+  165 125 (90 88 87 82 80 78 79 9 6 10 16 17 54 56 59)
+  165 95 (90 88 87 82 80 78 79 9 8 48 38 41)
+  165 109 (90 88 87 82 80 78 79 9 8 42 43 131)
+  165 175 (90 88 87 91)
+  165 157 (90 88 87 82 80 78 79 9 6 10 16 0 3 69 64 65 72 169)
+  165 81 (90 88 87 82 80 78 79 20 19 28 27 30 32 33 108)
+  165 62 (90 88 87 82 80 78 79 20 19 28 29 93)
+  165 168 (178)
+  165 112 (90 88 87 82 80 78 79 9 6 10 16 17 54 56 58 62 133)
+  165 69 (90 88 87 82 80 78 79 20 19 28 27 30 34 99)
+  165 145 (90 88 87 82 80 78 79 9 6 10 16 0 3 70)
+  165 178 (90 88 87 91 186)
+  165 124 (90 88 87 82 80 78 79 9 6 10 16 17 54 57 143)
+  165 131 (90 88 87 82 80 78 79 9 6 10 16 17 52 53 148)
+  165 121 (90 88 87 82 80 78 79 9 6 10 16 17 54 57 140)
+  165 98 (90 88 87 82 80 78 79 9 8 48 38 41 122)
+  165 170 (90 88 87 82 80 81)
+  165 63 (90 88 87 82 80 78 79 20 19 28 29 94)
+  165 162 (90 89 173)
+  165 61 (90 88 87 82 80 78 79 20 19 28 29 92)
+  165 107 (90 88 87 82 80 78 79 9 8 42 43 129)
+  165 87 (90 88 87 82 80 78 79 9 8 48 38 40 113)
+  165 77 (90 88 87 82 80 78 79 20 19 28 27 31 105)
+  165 70 (90 88 87 82 80 78 79 20 19 28 27 30 35)
+  165 88 (90 88 87 82 80 78 79 9 8 48 38 40 114)
+  165 156 (90 88 87 82 80 78 79 9 6 10 16 0 3 69 64 65 72 168)
+  165 83 (90 88 87 82 80 78 79 20 19 28 27 30 32 33 110)
+  165 177 (90 88 87 91 185)
+  165 150 (90 88 87 82 80 78 79 9 6 10 16 0 1 15 76)
+  165 85 (90 88 87 82 80 78 79 9 8 48 38 40)
+  165 111 (90 88 87 82 80 78 79 9 6 10 16 17 54 56 58 62 132)
+  165 169 (179)
+  168 125 (178 90 88 87 82 80 78 79 9 6 10 16 17 54 56 59)
+  168 95 (178 90 88 87 82 80 78 79 9 8 48 38 41)
+  168 109 (178 90 88 87 82 80 78 79 9 8 42 43 131)
+  168 175 (178 90 88 87 91)
+  168 157 (178 90 88 87 82 80 78 79 9 6 10 16 0 3 69 64 65 72 169)
+  168 81 (178 90 88 87 82 80 78 79 20 19 28 27 30 32 33 108)
+  168 62 (178 90 88 87 82 80 78 79 20 19 28 29 93)
+  168 165 (178)
+  168 112 (178 90 88 87 82 80 78 79 9 6 10 16 17 54 56 58 62 133)
+  168 69 (178 90 88 87 82 80 78 79 20 19 28 27 30 34 99)
+  168 145 (178 90 88 87 82 80 78 79 9 6 10 16 0 3 70)
+  168 178 (178 90 88 87 91 186)
+  168 124 (178 90 88 87 82 80 78 79 9 6 10 16 17 54 57 143)
+  168 131 (178 90 88 87 82 80 78 79 9 6 10 16 17 52 53 148)
+  168 121 (178 90 88 87 82 80 78 79 9 6 10 16 17 54 57 140)
+  168 98 (178 90 88 87 82 80 78 79 9 8 48 38 41 122)
+  168 170 (178 90 88 87 82 80 81)
+  168 63 (178 90 88 87 82 80 78 79 20 19 28 29 94)
+  168 162 (178 90 89 173)
+  168 61 (178 90 88 87 82 80 78 79 20 19 28 29 92)
+  168 107 (178 90 88 87 82 80 78 79 9 8 42 43 129)
+  168 87 (178 90 88 87 82 80 78 79 9 8 48 38 40 113)
+  168 77 (178 90 88 87 82 80 78 79 20 19 28 27 31 105)
+  168 70 (178 90 88 87 82 80 78 79 20 19 28 27 30 35)
+  168 88 (178 90 88 87 82 80 78 79 9 8 48 38 40 114)
+  168 156 (178 90 88 87 82 80 78 79 9 6 10 16 0 3 69 64 65 72 168)
+  168 83 (178 90 88 87 82 80 78 79 20 19 28 27 30 32 33 110)
+  168 177 (178 90 88 87 91 185)
+  168 150 (178 90 88 87 82 80 78 79 9 6 10 16 0 1 15 76)
+  168 85 (178 90 88 87 82 80 78 79 9 8 48 38 40)
+  168 111 (178 90 88 87 82 80 78 79 9 6 10 16 17 54 56 58 62 132)
+  168 169 (178 179)
+  112 125 (133 62 58 59)
+  112 95 (133 62 58 56 54 17 16 10 6 8 48 38 41)
+  112 109 (133 62 58 56 54 17 16 10 6 8 42 43 131)
+  112 175 (133 62 58 56 54 17 16 10 6 9 79 78 80 82 91)
+  112 157 (133 62 58 56 54 2 3 69 64 65 72 169)
+  112 81 (133 62 58 56 54 17 16 10 6 7 19 28 27 30 32 33 108)
+  112 62 (133 62 58 56 54 17 16 10 6 7 19 28 29 93)
+  112 165 (133 62 58 56 54 17 16 10 6 9 79 78 80 82 87 88 90)
+  112 168 (133 62 58 56 54 17 16 10 6 9 79 78 80 82 87 88 90 178)
+  112 69 (133 62 58 56 54 17 16 10 6 7 19 28 27 30 34 99)
+  112 145 (133 62 58 56 54 2 3 70)
+  112 178 (133 62 58 56 54 17 16 10 6 9 79 78 80 82 91 186)
+  112 124 (133 62 58 56 57 143)
+  112 131 (133 62 58 56 54 52 53 148)
+  112 121 (133 62 58 56 57 140)
+  112 98 (133 62 58 56 54 17 16 10 6 8 48 38 41 122)
+  112 170 (133 62 58 56 54 17 16 10 6 9 79 78 81)
+  112 63 (133 62 58 56 54 17 16 10 6 7 19 28 29 94)
+  112 162 (133 62 58 56 54 17 16 10 6 9 79 78 80 82 87 88 89 173)
+  112 61 (133 62 58 56 54 17 16 10 6 7 19 28 29 92)
+  112 107 (133 62 58 56 54 17 16 10 6 8 42 43 129)
+  112 87 (133 62 58 56 54 17 16 10 6 8 48 38 40 113)
+  112 77 (133 62 58 56 54 17 16 10 6 7 19 28 27 31 105)
+  112 70 (133 62 58 56 54 17 16 10 6 7 19 28 27 30 35)
+  112 88 (133 62 58 56 54 17 16 10 6 8 48 38 40 114)
+  112 156 (133 62 58 56 54 2 3 69 64 65 72 168)
+  112 83 (133 62 58 56 54 17 16 10 6 7 19 28 27 30 32 33 110)
+  112 177 (133 62 58 56 54 17 16 10 6 9 79 78 80 82 91 185)
+  112 150 (133 62 58 56 54 2 1 15 76)
+  112 85 (133 62 58 56 54 17 16 10 6 8 48 38 40)
+  112 111 (133 132)
+  112 169 (133 62 58 56 54 17 16 10 6 9 79 78 80 82 87 88 90 179)
+  69 125 (99 34 30 27 28 19 7 6 10 16 17 54 56 59)
+  69 95 (99 34 30 27 28 19 7 8 48 38 41)
+  69 109 (99 34 30 27 28 19 7 8 42 43 131)
+  69 175 (99 34 30 27 28 19 20 79 78 80 82 91)
+  69 157 (99 34 30 27 28 19 7 6 10 16 0 3 69 64 65 72 169)
+  69 81 (99 34 32 33 108)
+  69 62 (99 34 30 27 29 93)
+  69 165 (99 34 30 27 28 19 20 79 78 80 82 87 88 90)
+  69 168 (99 34 30 27 28 19 20 79 78 80 82 87 88 90 178)
+  69 112 (99 34 30 27 28 19 7 6 10 16 17 54 56 58 62 133)
+  69 145 (99 34 30 27 28 19 7 6 10 16 0 3 70)
+  69 178 (99 34 30 27 28 19 20 79 78 80 82 91 186)
+  69 124 (99 34 30 27 28 19 7 6 10 16 17 54 57 143)
+  69 131 (99 34 30 27 28 19 7 6 10 16 17 52 53 148)
+  69 121 (99 34 30 27 28 19 7 6 10 16 17 54 57 140)
+  69 98 (99 34 30 27 28 19 7 8 48 38 41 122)
+  69 170 (99 34 30 27 28 19 20 79 78 81)
+  69 63 (99 34 30 27 29 94)
+  69 162 (99 34 30 27 28 19 20 79 78 80 82 87 88 89 173)
+  69 61 (99 34 30 27 29 92)
+  69 107 (99 34 30 27 28 19 7 8 42 43 129)
+  69 87 (99 34 30 27 28 19 7 8 48 38 40 113)
+  69 77 (99 34 30 31 105)
+  69 70 (99 34 35)
+  69 88 (99 34 30 27 28 19 7 8 48 38 40 114)
+  69 156 (99 34 30 27 28 19 7 6 10 16 0 3 69 64 65 72 168)
+  69 83 (99 34 32 33 110)
+  69 177 (99 34 30 27 28 19 20 79 78 80 82 91 185)
+  69 150 (99 34 30 27 28 19 7 6 10 16 0 1 15 76)
+  69 85 (99 34 30 27 28 19 7 8 48 38 40)
+  69 111 (99 34 30 27 28 19 7 6 10 16 17 54 56 58 62 132)
+  69 169 (99 34 30 27 28 19 20 79 78 80 82 87 88 90 179)
+  145 125 (70 3 2 54 56 59)
+  145 95 (70 3 0 16 10 6 8 48 38 41)
+  145 109 (70 3 0 16 10 6 8 42 43 131)
+  145 175 (70 3 0 16 10 6 9 79 78 80 82 91)
+  145 157 (70 69 64 65 72 169)
+  145 81 (70 3 0 16 10 6 7 19 28 27 30 32 33 108)
+  145 62 (70 3 0 16 10 6 7 19 28 29 93)
+  145 165 (70 3 0 16 10 6 9 79 78 80 82 87 88 90)
+  145 168 (70 3 0 16 10 6 9 79 78 80 82 87 88 90 178)
+  145 112 (70 3 2 54 56 58 62 133)
+  145 69 (70 3 0 16 10 6 7 19 28 27 30 34 99)
+  145 178 (70 3 0 16 10 6 9 79 78 80 82 91 186)
+  145 124 (70 3 2 54 57 143)
+  145 131 (70 3 2 52 53 148)
+  145 121 (70 3 2 54 57 140)
+  145 98 (70 3 0 16 10 6 8 48 38 41 122)
+  145 170 (70 3 0 16 10 6 9 79 78 81)
+  145 63 (70 3 0 16 10 6 7 19 28 29 94)
+  145 162 (70 3 0 16 10 6 9 79 78 80 82 87 88 89 173)
+  145 61 (70 3 0 16 10 6 7 19 28 29 92)
+  145 107 (70 3 0 16 10 6 8 42 43 129)
+  145 87 (70 3 0 16 10 6 8 48 38 40 113)
+  145 77 (70 3 0 16 10 6 7 19 28 27 31 105)
+  145 70 (70 3 0 16 10 6 7 19 28 27 30 35)
+  145 88 (70 3 0 16 10 6 8 48 38 40 114)
+  145 156 (70 69 64 65 72 168)
+  145 83 (70 3 0 16 10 6 7 19 28 27 30 32 33 110)
+  145 177 (70 3 0 16 10 6 9 79 78 80 82 91 185)
+  145 150 (70 3 1 15 76)
+  145 85 (70 3 0 16 10 6 8 48 38 40)
+  145 111 (70 3 2 54 56 58 62 132)
+  145 169 (70 3 0 16 10 6 9 79 78 80 82 87 88 90 179)
+  178 125 (186 91 82 80 78 79 9 6 10 16 17 54 56 59)
+  178 95 (186 91 82 80 78 79 9 8 48 38 41)
+  178 109 (186 91 82 80 78 79 9 8 42 43 131)
+  178 175 (186)
+  178 157 (186 91 82 80 78 79 9 6 10 16 0 3 69 64 65 72 169)
+  178 81 (186 91 82 80 78 79 20 19 28 27 30 32 33 108)
+  178 62 (186 91 82 80 78 79 20 19 28 29 93)
+  178 165 (186 91 87 88 90)
+  178 168 (186 91 87 88 90 178)
+  178 112 (186 91 82 80 78 79 9 6 10 16 17 54 56 58 62 133)
+  178 69 (186 91 82 80 78 79 20 19 28 27 30 34 99)
+  178 145 (186 91 82 80 78 79 9 6 10 16 0 3 70)
+  178 124 (186 91 82 80 78 79 9 6 10 16 17 54 57 143)
+  178 131 (186 91 82 80 78 79 9 6 10 16 17 52 53 148)
+  178 121 (186 91 82 80 78 79 9 6 10 16 17 54 57 140)
+  178 98 (186 91 82 80 78 79 9 8 48 38 41 122)
+  178 170 (186 91 82 80 81)
+  178 63 (186 91 82 80 78 79 20 19 28 29 94)
+  178 162 (186 91 87 88 89 173)
+  178 61 (186 91 82 80 78 79 20 19 28 29 92)
+  178 107 (186 91 82 80 78 79 9 8 42 43 129)
+  178 87 (186 91 82 80 78 79 9 8 48 38 40 113)
+  178 77 (186 91 82 80 78 79 20 19 28 27 31 105)
+  178 70 (186 91 82 80 78 79 20 19 28 27 30 35)
+  178 88 (186 91 82 80 78 79 9 8 48 38 40 114)
+  178 156 (186 91 82 80 78 79 9 6 10 16 0 3 69 64 65 72 168)
+  178 83 (186 91 82 80 78 79 20 19 28 27 30 32 33 110)
+  178 177 (186 185)
+  178 150 (186 91 82 80 78 79 9 6 10 16 0 1 15 76)
+  178 85 (186 91 82 80 78 79 9 8 48 38 40)
+  178 111 (186 91 82 80 78 79 9 6 10 16 17 54 56 58 62 132)
+  178 169 (186 91 87 88 90 179)
+  124 125 (143 57 56 59)
+  124 95 (143 57 54 17 16 10 6 8 48 38 41)
+  124 109 (143 57 54 17 16 10 6 8 42 43 131)
+  124 175 (143 57 54 17 16 10 6 9 79 78 80 82 91)
+  124 157 (143 57 54 2 3 69 64 65 72 169)
+  124 81 (143 57 54 17 16 10 6 7 19 28 27 30 32 33 108)
+  124 62 (143 57 54 17 16 10 6 7 19 28 29 93)
+  124 165 (143 57 54 17 16 10 6 9 79 78 80 82 87 88 90)
+  124 168 (143 57 54 17 16 10 6 9 79 78 80 82 87 88 90 178)
+  124 112 (143 57 56 58 62 133)
+  124 69 (143 57 54 17 16 10 6 7 19 28 27 30 34 99)
+  124 145 (143 57 54 2 3 70)
+  124 178 (143 57 54 17 16 10 6 9 79 78 80 82 91 186)
+  124 131 (143 57 54 52 53 148)
+  124 121 (143 140)
+  124 98 (143 57 54 17 16 10 6 8 48 38 41 122)
+  124 170 (143 57 54 17 16 10 6 9 79 78 81)
+  124 63 (143 57 54 17 16 10 6 7 19 28 29 94)
+  124 162 (143 57 54 17 16 10 6 9 79 78 80 82 87 88 89 173)
+  124 61 (143 57 54 17 16 10 6 7 19 28 29 92)
+  124 107 (143 57 54 17 16 10 6 8 42 43 129)
+  124 87 (143 57 54 17 16 10 6 8 48 38 40 113)
+  124 77 (143 57 54 17 16 10 6 7 19 28 27 31 105)
+  124 70 (143 57 54 17 16 10 6 7 19 28 27 30 35)
+  124 88 (143 57 54 17 16 10 6 8 48 38 40 114)
+  124 156 (143 57 54 2 3 69 64 65 72 168)
+  124 83 (143 57 54 17 16 10 6 7 19 28 27 30 32 33 110)
+  124 177 (143 57 54 17 16 10 6 9 79 78 80 82 91 185)
+  124 150 (143 57 54 2 1 15 76)
+  124 85 (143 57 54 17 16 10 6 8 48 38 40)
+  124 111 (143 57 56 58 62 132)
+  124 169 (143 57 54 17 16 10 6 9 79 78 80 82 87 88 90 179)
+  131 125 (148 53 52 54 56 59)
+  131 95 (148 53 52 17 16 10 6 8 48 38 41)
+  131 109 (148 53 52 17 16 10 6 8 42 43 131)
+  131 175 (148 53 52 17 16 10 6 9 79 78 80 82 91)
+  131 157 (148 53 52 2 3 69 64 65 72 169)
+  131 81 (148 53 52 17 16 10 6 7 19 28 27 30 32 33 108)
+  131 62 (148 53 52 17 16 10 6 7 19 28 29 93)
+  131 165 (148 53 52 17 16 10 6 9 79 78 80 82 87 88 90)
+  131 168 (148 53 52 17 16 10 6 9 79 78 80 82 87 88 90 178)
+  131 112 (148 53 52 54 56 58 62 133)
+  131 69 (148 53 52 17 16 10 6 7 19 28 27 30 34 99)
+  131 145 (148 53 52 2 3 70)
+  131 178 (148 53 52 17 16 10 6 9 79 78 80 82 91 186)
+  131 124 (148 53 52 54 57 143)
+  131 121 (148 53 52 54 57 140)
+  131 98 (148 53 52 17 16 10 6 8 48 38 41 122)
+  131 170 (148 53 52 17 16 10 6 9 79 78 81)
+  131 63 (148 53 52 17 16 10 6 7 19 28 29 94)
+  131 162 (148 53 52 17 16 10 6 9 79 78 80 82 87 88 89 173)
+  131 61 (148 53 52 17 16 10 6 7 19 28 29 92)
+  131 107 (148 53 52 17 16 10 6 8 42 43 129)
+  131 87 (148 53 52 17 16 10 6 8 48 38 40 113)
+  131 77 (148 53 52 17 16 10 6 7 19 28 27 31 105)
+  131 70 (148 53 52 17 16 10 6 7 19 28 27 30 35)
+  131 88 (148 53 52 17 16 10 6 8 48 38 40 114)
+  131 156 (148 53 52 2 3 69 64 65 72 168)
+  131 83 (148 53 52 17 16 10 6 7 19 28 27 30 32 33 110)
+  131 177 (148 53 52 17 16 10 6 9 79 78 80 82 91 185)
+  131 150 (148 53 52 2 1 15 76)
+  131 85 (148 53 52 17 16 10 6 8 48 38 40)
+  131 111 (148 53 52 54 56 58 62 132)
+  131 169 (148 53 52 17 16 10 6 9 79 78 80 82 87 88 90 179)
+  121 125 (140 57 56 59)
+  121 95 (140 57 54 17 16 10 6 8 48 38 41)
+  121 109 (140 57 54 17 16 10 6 8 42 43 131)
+  121 175 (140 57 54 17 16 10 6 9 79 78 80 82 91)
+  121 157 (140 57 54 2 3 69 64 65 72 169)
+  121 81 (140 57 54 17 16 10 6 7 19 28 27 30 32 33 108)
+  121 62 (140 57 54 17 16 10 6 7 19 28 29 93)
+  121 165 (140 57 54 17 16 10 6 9 79 78 80 82 87 88 90)
+  121 168 (140 57 54 17 16 10 6 9 79 78 80 82 87 88 90 178)
+  121 112 (140 57 56 58 62 133)
+  121 69 (140 57 54 17 16 10 6 7 19 28 27 30 34 99)
+  121 145 (140 57 54 2 3 70)
+  121 178 (140 57 54 17 16 10 6 9 79 78 80 82 91 186)
+  121 124 (140 143)
+  121 131 (140 57 54 52 53 148)
+  121 98 (140 57 54 17 16 10 6 8 48 38 41 122)
+  121 170 (140 57 54 17 16 10 6 9 79 78 81)
+  121 63 (140 57 54 17 16 10 6 7 19 28 29 94)
+  121 162 (140 57 54 17 16 10 6 9 79 78 80 82 87 88 89 173)
+  121 61 (140 57 54 17 16 10 6 7 19 28 29 92)
+  121 107 (140 57 54 17 16 10 6 8 42 43 129)
+  121 87 (140 57 54 17 16 10 6 8 48 38 40 113)
+  121 77 (140 57 54 17 16 10 6 7 19 28 27 31 105)
+  121 70 (140 57 54 17 16 10 6 7 19 28 27 30 35)
+  121 88 (140 57 54 17 16 10 6 8 48 38 40 114)
+  121 156 (140 57 54 2 3 69 64 65 72 168)
+  121 83 (140 57 54 17 16 10 6 7 19 28 27 30 32 33 110)
+  121 177 (140 57 54 17 16 10 6 9 79 78 80 82 91 185)
+  121 150 (140 57 54 2 1 15 76)
+  121 85 (140 57 54 17 16 10 6 8 48 38 40)
+  121 111 (140 57 56 58 62 132)
+  121 169 (140 57 54 17 16 10 6 9 79 78 80 82 87 88 90 179)
+  98 125 (122 41 38 48 8 6 10 16 17 54 56 59)
+  98 95 (122)
+  98 109 (122 41 38 48 42 43 131)
+  98 175 (122 41 38 48 8 9 79 78 80 82 91)
+  98 157 (122 41 38 48 8 6 10 16 0 3 69 64 65 72 169)
+  98 81 (122 41 38 48 8 7 19 28 27 30 32 33 108)
+  98 62 (122 41 38 48 8 7 19 28 29 93)
+  98 165 (122 41 38 48 8 9 79 78 80 82 87 88 90)
+  98 168 (122 41 38 48 8 9 79 78 80 82 87 88 90 178)
+  98 112 (122 41 38 48 8 6 10 16 17 54 56 58 62 133)
+  98 69 (122 41 38 48 8 7 19 28 27 30 34 99)
+  98 145 (122 41 38 48 8 6 10 16 0 3 70)
+  98 178 (122 41 38 48 8 9 79 78 80 82 91 186)
+  98 124 (122 41 38 48 8 6 10 16 17 54 57 143)
+  98 131 (122 41 38 48 8 6 10 16 17 52 53 148)
+  98 121 (122 41 38 48 8 6 10 16 17 54 57 140)
+  98 170 (122 41 38 48 8 9 79 78 81)
+  98 63 (122 41 38 48 8 7 19 28 29 94)
+  98 162 (122 41 38 48 8 9 79 78 80 82 87 88 89 173)
+  98 61 (122 41 38 48 8 7 19 28 29 92)
+  98 107 (122 41 38 48 42 43 129)
+  98 87 (122 41 40 113)
+  98 77 (122 41 38 48 8 7 19 28 27 31 105)
+  98 70 (122 41 38 48 8 7 19 28 27 30 35)
+  98 88 (122 41 40 114)
+  98 156 (122 41 38 48 8 6 10 16 0 3 69 64 65 72 168)
+  98 83 (122 41 38 48 8 7 19 28 27 30 32 33 110)
+  98 177 (122 41 38 48 8 9 79 78 80 82 91 185)
+  98 150 (122 41 38 48 8 6 10 16 0 1 15 76)
+  98 85 (122 41 40)
+  98 111 (122 41 38 48 8 6 10 16 17 54 56 58 62 132)
+  98 169 (122 41 38 48 8 9 79 78 80 82 87 88 90 179)
+  170 125 (81 78 79 9 6 10 16 17 54 56 59)
+  170 95 (81 78 79 9 8 48 38 41)
+  170 109 (81 78 79 9 8 42 43 131)
+  170 175 (81 80 82 91)
+  170 157 (81 78 79 9 6 10 16 0 3 69 64 65 72 169)
+  170 81 (81 78 79 20 19 28 27 30 32 33 108)
+  170 62 (81 78 79 20 19 28 29 93)
+  170 165 (81 80 82 87 88 90)
+  170 168 (81 80 82 87 88 90 178)
+  170 112 (81 78 79 9 6 10 16 17 54 56 58 62 133)
+  170 69 (81 78 79 20 19 28 27 30 34 99)
+  170 145 (81 78 79 9 6 10 16 0 3 70)
+  170 178 (81 80 82 91 186)
+  170 124 (81 78 79 9 6 10 16 17 54 57 143)
+  170 131 (81 78 79 9 6 10 16 17 52 53 148)
+  170 121 (81 78 79 9 6 10 16 17 54 57 140)
+  170 98 (81 78 79 9 8 48 38 41 122)
+  170 63 (81 78 79 20 19 28 29 94)
+  170 162 (81 80 82 87 88 89 173)
+  170 61 (81 78 79 20 19 28 29 92)
+  170 107 (81 78 79 9 8 42 43 129)
+  170 87 (81 78 79 9 8 48 38 40 113)
+  170 77 (81 78 79 20 19 28 27 31 105)
+  170 70 (81 78 79 20 19 28 27 30 35)
+  170 88 (81 78 79 9 8 48 38 40 114)
+  170 156 (81 78 79 9 6 10 16 0 3 69 64 65 72 168)
+  170 83 (81 78 79 20 19 28 27 30 32 33 110)
+  170 177 (81 80 82 91 185)
+  170 150 (81 78 79 9 6 10 16 0 1 15 76)
+  170 85 (81 78 79 9 8 48 38 40)
+  170 111 (81 78 79 9 6 10 16 17 54 56 58 62 132)
+  170 169 (81 80 82 87 88 90 179)
+  63 125 (94 29 28 19 7 6 10 16 17 54 56 59)
+  63 95 (94 29 28 19 7 8 48 38 41)
+  63 109 (94 29 28 19 7 8 42 43 131)
+  63 175 (94 29 28 19 20 79 78 80 82 91)
+  63 157 (94 29 28 19 7 6 10 16 0 3 69 64 65 72 169)
+  63 81 (94 29 27 30 32 33 108)
+  63 62 (94 93)
+  63 165 (94 29 28 19 20 79 78 80 82 87 88 90)
+  63 168 (94 29 28 19 20 79 78 80 82 87 88 90 178)
+  63 112 (94 29 28 19 7 6 10 16 17 54 56 58 62 133)
+  63 69 (94 29 27 30 34 99)
+  63 145 (94 29 28 19 7 6 10 16 0 3 70)
+  63 178 (94 29 28 19 20 79 78 80 82 91 186)
+  63 124 (94 29 28 19 7 6 10 16 17 54 57 143)
+  63 131 (94 29 28 19 7 6 10 16 17 52 53 148)
+  63 121 (94 29 28 19 7 6 10 16 17 54 57 140)
+  63 98 (94 29 28 19 7 8 48 38 41 122)
+  63 170 (94 29 28 19 20 79 78 81)
+  63 162 (94 29 28 19 20 79 78 80 82 87 88 89 173)
+  63 61 (94 92)
+  63 107 (94 29 28 19 7 8 42 43 129)
+  63 87 (94 29 28 19 7 8 48 38 40 113)
+  63 77 (94 29 27 31 105)
+  63 70 (94 29 27 30 35)
+  63 88 (94 29 28 19 7 8 48 38 40 114)
+  63 156 (94 29 28 19 7 6 10 16 0 3 69 64 65 72 168)
+  63 83 (94 29 27 30 32 33 110)
+  63 177 (94 29 28 19 20 79 78 80 82 91 185)
+  63 150 (94 29 28 19 7 6 10 16 0 1 15 76)
+  63 85 (94 29 28 19 7 8 48 38 40)
+  63 111 (94 29 28 19 7 6 10 16 17 54 56 58 62 132)
+  63 169 (94 29 28 19 20 79 78 80 82 87 88 90 179)
+  162 125 (173 89 88 87 82 80 78 79 9 6 10 16 17 54 56 59)
+  162 95 (173 89 88 87 82 80 78 79 9 8 48 38 41)
+  162 109 (173 89 88 87 82 80 78 79 9 8 42 43 131)
+  162 175 (173 89 88 87 91)
+  162 157 (173 89 88 87 82 80 78 79 9 6 10 16 0 3 69 64 65 72 169)
+  162 81 (173 89 88 87 82 80 78 79 20 19 28 27 30 32 33 108)
+  162 62 (173 89 88 87 82 80 78 79 20 19 28 29 93)
+  162 165 (173 89 90)
+  162 168 (173 89 90 178)
+  162 112 (173 89 88 87 82 80 78 79 9 6 10 16 17 54 56 58 62 133)
+  162 69 (173 89 88 87 82 80 78 79 20 19 28 27 30 34 99)
+  162 145 (173 89 88 87 82 80 78 79 9 6 10 16 0 3 70)
+  162 178 (173 89 88 87 91 186)
+  162 124 (173 89 88 87 82 80 78 79 9 6 10 16 17 54 57 143)
+  162 131 (173 89 88 87 82 80 78 79 9 6 10 16 17 52 53 148)
+  162 121 (173 89 88 87 82 80 78 79 9 6 10 16 17 54 57 140)
+  162 98 (173 89 88 87 82 80 78 79 9 8 48 38 41 122)
+  162 170 (173 89 88 87 82 80 81)
+  162 63 (173 89 88 87 82 80 78 79 20 19 28 29 94)
+  162 61 (173 89 88 87 82 80 78 79 20 19 28 29 92)
+  162 107 (173 89 88 87 82 80 78 79 9 8 42 43 129)
+  162 87 (173 89 88 87 82 80 78 79 9 8 48 38 40 113)
+  162 77 (173 89 88 87 82 80 78 79 20 19 28 27 31 105)
+  162 70 (173 89 88 87 82 80 78 79 20 19 28 27 30 35)
+  162 88 (173 89 88 87 82 80 78 79 9 8 48 38 40 114)
+  162 156 (173 89 88 87 82 80 78 79 9 6 10 16 0 3 69 64 65 72 168)
+  162 83 (173 89 88 87 82 80 78 79 20 19 28 27 30 32 33 110)
+  162 177 (173 89 88 87 91 185)
+  162 150 (173 89 88 87 82 80 78 79 9 6 10 16 0 1 15 76)
+  162 85 (173 89 88 87 82 80 78 79 9 8 48 38 40)
+  162 111 (173 89 88 87 82 80 78 79 9 6 10 16 17 54 56 58 62 132)
+  162 169 (173 89 90 179)
+  61 125 (92 29 28 19 7 6 10 16 17 54 56 59)
+  61 95 (92 29 28 19 7 8 48 38 41)
+  61 109 (92 29 28 19 7 8 42 43 131)
+  61 175 (92 29 28 19 20 79 78 80 82 91)
+  61 157 (92 29 28 19 7 6 10 16 0 3 69 64 65 72 169)
+  61 81 (92 29 27 30 32 33 108)
+  61 62 (92 93)
+  61 165 (92 29 28 19 20 79 78 80 82 87 88 90)
+  61 168 (92 29 28 19 20 79 78 80 82 87 88 90 178)
+  61 112 (92 29 28 19 7 6 10 16 17 54 56 58 62 133)
+  61 69 (92 29 27 30 34 99)
+  61 145 (92 29 28 19 7 6 10 16 0 3 70)
+  61 178 (92 29 28 19 20 79 78 80 82 91 186)
+  61 124 (92 29 28 19 7 6 10 16 17 54 57 143)
+  61 131 (92 29 28 19 7 6 10 16 17 52 53 148)
+  61 121 (92 29 28 19 7 6 10 16 17 54 57 140)
+  61 98 (92 29 28 19 7 8 48 38 41 122)
+  61 170 (92 29 28 19 20 79 78 81)
+  61 63 (92 94)
+  61 162 (92 29 28 19 20 79 78 80 82 87 88 89 173)
+  61 107 (92 29 28 19 7 8 42 43 129)
+  61 87 (92 29 28 19 7 8 48 38 40 113)
+  61 77 (92 29 27 31 105)
+  61 70 (92 29 27 30 35)
+  61 88 (92 29 28 19 7 8 48 38 40 114)
+  61 156 (92 29 28 19 7 6 10 16 0 3 69 64 65 72 168)
+  61 83 (92 29 27 30 32 33 110)
+  61 177 (92 29 28 19 20 79 78 80 82 91 185)
+  61 150 (92 29 28 19 7 6 10 16 0 1 15 76)
+  61 85 (92 29 28 19 7 8 48 38 40)
+  61 111 (92 29 28 19 7 6 10 16 17 54 56 58 62 132)
+  61 169 (92 29 28 19 20 79 78 80 82 87 88 90 179)
+  107 125 (129 43 42 8 6 10 16 17 54 56 59)
+  107 95 (129 43 42 48 38 41)
+  107 109 (129 131)
+  107 175 (129 43 42 8 9 79 78 80 82 91)
+  107 157 (129 43 42 8 6 10 16 0 3 69 64 65 72 169)
+  107 81 (129 43 42 8 7 19 28 27 30 32 33 108)
+  107 62 (129 43 42 8 7 19 28 29 93)
+  107 165 (129 43 42 8 9 79 78 80 82 87 88 90)
+  107 168 (129 43 42 8 9 79 78 80 82 87 88 90 178)
+  107 112 (129 43 42 8 6 10 16 17 54 56 58 62 133)
+  107 69 (129 43 42 8 7 19 28 27 30 34 99)
+  107 145 (129 43 42 8 6 10 16 0 3 70)
+  107 178 (129 43 42 8 9 79 78 80 82 91 186)
+  107 124 (129 43 42 8 6 10 16 17 54 57 143)
+  107 131 (129 43 42 8 6 10 16 17 52 53 148)
+  107 121 (129 43 42 8 6 10 16 17 54 57 140)
+  107 98 (129 43 42 48 38 41 122)
+  107 170 (129 43 42 8 9 79 78 81)
+  107 63 (129 43 42 8 7 19 28 29 94)
+  107 162 (129 43 42 8 9 79 78 80 82 87 88 89 173)
+  107 61 (129 43 42 8 7 19 28 29 92)
+  107 87 (129 43 42 48 38 40 113)
+  107 77 (129 43 42 8 7 19 28 27 31 105)
+  107 70 (129 43 42 8 7 19 28 27 30 35)
+  107 88 (129 43 42 48 38 40 114)
+  107 156 (129 43 42 8 6 10 16 0 3 69 64 65 72 168)
+  107 83 (129 43 42 8 7 19 28 27 30 32 33 110)
+  107 177 (129 43 42 8 9 79 78 80 82 91 185)
+  107 150 (129 43 42 8 6 10 16 0 1 15 76)
+  107 85 (129 43 42 48 38 40)
+  107 111 (129 43 42 8 6 10 16 17 54 56 58 62 132)
+  107 169 (129 43 42 8 9 79 78 80 82 87 88 90 179)
+  87 125 (113 40 38 48 8 6 10 16 17 54 56 59)
+  87 95 (113 40 41)
+  87 109 (113 40 38 48 42 43 131)
+  87 175 (113 40 38 48 8 9 79 78 80 82 91)
+  87 157 (113 40 38 48 8 6 10 16 0 3 69 64 65 72 169)
+  87 81 (113 40 38 48 8 7 19 28 27 30 32 33 108)
+  87 62 (113 40 38 48 8 7 19 28 29 93)
+  87 165 (113 40 38 48 8 9 79 78 80 82 87 88 90)
+  87 168 (113 40 38 48 8 9 79 78 80 82 87 88 90 178)
+  87 112 (113 40 38 48 8 6 10 16 17 54 56 58 62 133)
+  87 69 (113 40 38 48 8 7 19 28 27 30 34 99)
+  87 145 (113 40 38 48 8 6 10 16 0 3 70)
+  87 178 (113 40 38 48 8 9 79 78 80 82 91 186)
+  87 124 (113 40 38 48 8 6 10 16 17 54 57 143)
+  87 131 (113 40 38 48 8 6 10 16 17 52 53 148)
+  87 121 (113 40 38 48 8 6 10 16 17 54 57 140)
+  87 98 (113 40 41 122)
+  87 170 (113 40 38 48 8 9 79 78 81)
+  87 63 (113 40 38 48 8 7 19 28 29 94)
+  87 162 (113 40 38 48 8 9 79 78 80 82 87 88 89 173)
+  87 61 (113 40 38 48 8 7 19 28 29 92)
+  87 107 (113 40 38 48 42 43 129)
+  87 77 (113 40 38 48 8 7 19 28 27 31 105)
+  87 70 (113 40 38 48 8 7 19 28 27 30 35)
+  87 88 (113 114)
+  87 156 (113 40 38 48 8 6 10 16 0 3 69 64 65 72 168)
+  87 83 (113 40 38 48 8 7 19 28 27 30 32 33 110)
+  87 177 (113 40 38 48 8 9 79 78 80 82 91 185)
+  87 150 (113 40 38 48 8 6 10 16 0 1 15 76)
+  87 85 (113)
+  87 111 (113 40 38 48 8 6 10 16 17 54 56 58 62 132)
+  87 169 (113 40 38 48 8 9 79 78 80 82 87 88 90 179)
+  77 125 (105 31 27 28 19 7 6 10 16 17 54 56 59)
+  77 95 (105 31 27 28 19 7 8 48 38 41)
+  77 109 (105 31 27 28 19 7 8 42 43 131)
+  77 175 (105 31 27 28 19 20 79 78 80 82 91)
+  77 157 (105 31 27 28 19 7 6 10 16 0 3 69 64 65 72 169)
+  77 81 (105 31 30 32 33 108)
+  77 62 (105 31 27 29 93)
+  77 165 (105 31 27 28 19 20 79 78 80 82 87 88 90)
+  77 168 (105 31 27 28 19 20 79 78 80 82 87 88 90 178)
+  77 112 (105 31 27 28 19 7 6 10 16 17 54 56 58 62 133)
+  77 69 (105 31 30 34 99)
+  77 145 (105 31 27 28 19 7 6 10 16 0 3 70)
+  77 178 (105 31 27 28 19 20 79 78 80 82 91 186)
+  77 124 (105 31 27 28 19 7 6 10 16 17 54 57 143)
+  77 131 (105 31 27 28 19 7 6 10 16 17 52 53 148)
+  77 121 (105 31 27 28 19 7 6 10 16 17 54 57 140)
+  77 98 (105 31 27 28 19 7 8 48 38 41 122)
+  77 170 (105 31 27 28 19 20 79 78 81)
+  77 63 (105 31 27 29 94)
+  77 162 (105 31 27 28 19 20 79 78 80 82 87 88 89 173)
+  77 61 (105 31 27 29 92)
+  77 107 (105 31 27 28 19 7 8 42 43 129)
+  77 87 (105 31 27 28 19 7 8 48 38 40 113)
+  77 70 (105 31 30 35)
+  77 88 (105 31 27 28 19 7 8 48 38 40 114)
+  77 156 (105 31 27 28 19 7 6 10 16 0 3 69 64 65 72 168)
+  77 83 (105 31 30 32 33 110)
+  77 177 (105 31 27 28 19 20 79 78 80 82 91 185)
+  77 150 (105 31 27 28 19 7 6 10 16 0 1 15 76)
+  77 85 (105 31 27 28 19 7 8 48 38 40)
+  77 111 (105 31 27 28 19 7 6 10 16 17 54 56 58 62 132)
+  77 169 (105 31 27 28 19 20 79 78 80 82 87 88 90 179)
+  70 125 (35 30 27 28 19 7 6 10 16 17 54 56 59)
+  70 95 (35 30 27 28 19 7 8 48 38 41)
+  70 109 (35 30 27 28 19 7 8 42 43 131)
+  70 175 (35 30 27 28 19 20 79 78 80 82 91)
+  70 157 (35 30 27 28 19 7 6 10 16 0 3 69 64 65 72 169)
+  70 81 (35 32 33 108)
+  70 62 (35 30 27 29 93)
+  70 165 (35 30 27 28 19 20 79 78 80 82 87 88 90)
+  70 168 (35 30 27 28 19 20 79 78 80 82 87 88 90 178)
+  70 112 (35 30 27 28 19 7 6 10 16 17 54 56 58 62 133)
+  70 69 (35 34 99)
+  70 145 (35 30 27 28 19 7 6 10 16 0 3 70)
+  70 178 (35 30 27 28 19 20 79 78 80 82 91 186)
+  70 124 (35 30 27 28 19 7 6 10 16 17 54 57 143)
+  70 131 (35 30 27 28 19 7 6 10 16 17 52 53 148)
+  70 121 (35 30 27 28 19 7 6 10 16 17 54 57 140)
+  70 98 (35 30 27 28 19 7 8 48 38 41 122)
+  70 170 (35 30 27 28 19 20 79 78 81)
+  70 63 (35 30 27 29 94)
+  70 162 (35 30 27 28 19 20 79 78 80 82 87 88 89 173)
+  70 61 (35 30 27 29 92)
+  70 107 (35 30 27 28 19 7 8 42 43 129)
+  70 87 (35 30 27 28 19 7 8 48 38 40 113)
+  70 77 (35 30 31 105)
+  70 88 (35 30 27 28 19 7 8 48 38 40 114)
+  70 156 (35 30 27 28 19 7 6 10 16 0 3 69 64 65 72 168)
+  70 83 (35 32 33 110)
+  70 177 (35 30 27 28 19 20 79 78 80 82 91 185)
+  70 150 (35 30 27 28 19 7 6 10 16 0 1 15 76)
+  70 85 (35 30 27 28 19 7 8 48 38 40)
+  70 111 (35 30 27 28 19 7 6 10 16 17 54 56 58 62 132)
+  70 169 (35 30 27 28 19 20 79 78 80 82 87 88 90 179)
+  88 125 (114 40 38 48 8 6 10 16 17 54 56 59)
+  88 95 (114 40 41)
+  88 109 (114 40 38 48 42 43 131)
+  88 175 (114 40 38 48 8 9 79 78 80 82 91)
+  88 157 (114 40 38 48 8 6 10 16 0 3 69 64 65 72 169)
+  88 81 (114 40 38 48 8 7 19 28 27 30 32 33 108)
+  88 62 (114 40 38 48 8 7 19 28 29 93)
+  88 165 (114 40 38 48 8 9 79 78 80 82 87 88 90)
+  88 168 (114 40 38 48 8 9 79 78 80 82 87 88 90 178)
+  88 112 (114 40 38 48 8 6 10 16 17 54 56 58 62 133)
+  88 69 (114 40 38 48 8 7 19 28 27 30 34 99)
+  88 145 (114 40 38 48 8 6 10 16 0 3 70)
+  88 178 (114 40 38 48 8 9 79 78 80 82 91 186)
+  88 124 (114 40 38 48 8 6 10 16 17 54 57 143)
+  88 131 (114 40 38 48 8 6 10 16 17 52 53 148)
+  88 121 (114 40 38 48 8 6 10 16 17 54 57 140)
+  88 98 (114 40 41 122)
+  88 170 (114 40 38 48 8 9 79 78 81)
+  88 63 (114 40 38 48 8 7 19 28 29 94)
+  88 162 (114 40 38 48 8 9 79 78 80 82 87 88 89 173)
+  88 61 (114 40 38 48 8 7 19 28 29 92)
+  88 107 (114 40 38 48 42 43 129)
+  88 87 (114 113)
+  88 77 (114 40 38 48 8 7 19 28 27 31 105)
+  88 70 (114 40 38 48 8 7 19 28 27 30 35)
+  88 156 (114 40 38 48 8 6 10 16 0 3 69 64 65 72 168)
+  88 83 (114 40 38 48 8 7 19 28 27 30 32 33 110)
+  88 177 (114 40 38 48 8 9 79 78 80 82 91 185)
+  88 150 (114 40 38 48 8 6 10 16 0 1 15 76)
+  88 85 (114)
+  88 111 (114 40 38 48 8 6 10 16 17 54 56 58 62 132)
+  88 169 (114 40 38 48 8 9 79 78 80 82 87 88 90 179)
+  156 125 (168 72 65 64 69 3 2 54 56 59)
+  156 95 (168 72 65 64 69 3 0 16 10 6 8 48 38 41)
+  156 109 (168 72 65 64 69 3 0 16 10 6 8 42 43 131)
+  156 175 (168 72 65 64 69 3 0 16 10 6 9 79 78 80 82 91)
+  156 157 (168 169)
+  156 81 (168 72 65 64 69 3 0 16 10 6 7 19 28 27 30 32 33 108)
+  156 62 (168 72 65 64 69 3 0 16 10 6 7 19 28 29 93)
+  156 165 (168 72 65 64 69 3 0 16 10 6 9 79 78 80 82 87 88 90)
+  156 168 (168 72 65 64 69 3 0 16 10 6 9 79 78 80 82 87 88 90 178)
+  156 112 (168 72 65 64 69 3 2 54 56 58 62 133)
+  156 69 (168 72 65 64 69 3 0 16 10 6 7 19 28 27 30 34 99)
+  156 145 (168 72 65 64 69 70)
+  156 178 (168 72 65 64 69 3 0 16 10 6 9 79 78 80 82 91 186)
+  156 124 (168 72 65 64 69 3 2 54 57 143)
+  156 131 (168 72 65 64 69 3 2 52 53 148)
+  156 121 (168 72 65 64 69 3 2 54 57 140)
+  156 98 (168 72 65 64 69 3 0 16 10 6 8 48 38 41 122)
+  156 170 (168 72 65 64 69 3 0 16 10 6 9 79 78 81)
+  156 63 (168 72 65 64 69 3 0 16 10 6 7 19 28 29 94)
+  156 162 (168 72 65 64 69 3 0 16 10 6 9 79 78 80 82 87 88 89 173)
+  156 61 (168 72 65 64 69 3 0 16 10 6 7 19 28 29 92)
+  156 107 (168 72 65 64 69 3 0 16 10 6 8 42 43 129)
+  156 87 (168 72 65 64 69 3 0 16 10 6 8 48 38 40 113)
+  156 77 (168 72 65 64 69 3 0 16 10 6 7 19 28 27 31 105)
+  156 70 (168 72 65 64 69 3 0 16 10 6 7 19 28 27 30 35)
+  156 88 (168 72 65 64 69 3 0 16 10 6 8 48 38 40 114)
+  156 83 (168 72 65 64 69 3 0 16 10 6 7 19 28 27 30 32 33 110)
+  156 177 (168 72 65 64 69 3 0 16 10 6 9 79 78 80 82 91 185)
+  156 150 (168 72 65 64 73 74 76)
+  156 85 (168 72 65 64 69 3 0 16 10 6 8 48 38 40)
+  156 111 (168 72 65 64 69 3 2 54 56 58 62 132)
+  156 169 (168 72 65 64 69 3 0 16 10 6 9 79 78 80 82 87 88 90 179)
+  83 125 (110 33 32 30 27 28 19 7 6 10 16 17 54 56 59)
+  83 95 (110 33 32 30 27 28 19 7 8 48 38 41)
+  83 109 (110 33 32 30 27 28 19 7 8 42 43 131)
+  83 175 (110 33 32 30 27 28 19 20 79 78 80 82 91)
+  83 157 (110 33 32 30 27 28 19 7 6 10 16 0 3 69 64 65 72 169)
+  83 81 (110 108)
+  83 62 (110 33 32 30 27 29 93)
+  83 165 (110 33 32 30 27 28 19 20 79 78 80 82 87 88 90)
+  83 168 (110 33 32 30 27 28 19 20 79 78 80 82 87 88 90 178)
+  83 112 (110 33 32 30 27 28 19 7 6 10 16 17 54 56 58 62 133)
+  83 69 (110 33 32 34 99)
+  83 145 (110 33 32 30 27 28 19 7 6 10 16 0 3 70)
+  83 178 (110 33 32 30 27 28 19 20 79 78 80 82 91 186)
+  83 124 (110 33 32 30 27 28 19 7 6 10 16 17 54 57 143)
+  83 131 (110 33 32 30 27 28 19 7 6 10 16 17 52 53 148)
+  83 121 (110 33 32 30 27 28 19 7 6 10 16 17 54 57 140)
+  83 98 (110 33 32 30 27 28 19 7 8 48 38 41 122)
+  83 170 (110 33 32 30 27 28 19 20 79 78 81)
+  83 63 (110 33 32 30 27 29 94)
+  83 162 (110 33 32 30 27 28 19 20 79 78 80 82 87 88 89 173)
+  83 61 (110 33 32 30 27 29 92)
+  83 107 (110 33 32 30 27 28 19 7 8 42 43 129)
+  83 87 (110 33 32 30 27 28 19 7 8 48 38 40 113)
+  83 77 (110 33 32 30 31 105)
+  83 70 (110 33 32 35)
+  83 88 (110 33 32 30 27 28 19 7 8 48 38 40 114)
+  83 156 (110 33 32 30 27 28 19 7 6 10 16 0 3 69 64 65 72 168)
+  83 177 (110 33 32 30 27 28 19 20 79 78 80 82 91 185)
+  83 150 (110 33 32 30 27 28 19 7 6 10 16 0 1 15 76)
+  83 85 (110 33 32 30 27 28 19 7 8 48 38 40)
+  83 111 (110 33 32 30 27 28 19 7 6 10 16 17 54 56 58 62 132)
+  83 169 (110 33 32 30 27 28 19 20 79 78 80 82 87 88 90 179)
+  177 125 (185 91 82 80 78 79 9 6 10 16 17 54 56 59)
+  177 95 (185 91 82 80 78 79 9 8 48 38 41)
+  177 109 (185 91 82 80 78 79 9 8 42 43 131)
+  177 175 (185)
+  177 157 (185 91 82 80 78 79 9 6 10 16 0 3 69 64 65 72 169)
+  177 81 (185 91 82 80 78 79 20 19 28 27 30 32 33 108)
+  177 62 (185 91 82 80 78 79 20 19 28 29 93)
+  177 165 (185 91 87 88 90)
+  177 168 (185 91 87 88 90 178)
+  177 112 (185 91 82 80 78 79 9 6 10 16 17 54 56 58 62 133)
+  177 69 (185 91 82 80 78 79 20 19 28 27 30 34 99)
+  177 145 (185 91 82 80 78 79 9 6 10 16 0 3 70)
+  177 178 (185 186)
+  177 124 (185 91 82 80 78 79 9 6 10 16 17 54 57 143)
+  177 131 (185 91 82 80 78 79 9 6 10 16 17 52 53 148)
+  177 121 (185 91 82 80 78 79 9 6 10 16 17 54 57 140)
+  177 98 (185 91 82 80 78 79 9 8 48 38 41 122)
+  177 170 (185 91 82 80 81)
+  177 63 (185 91 82 80 78 79 20 19 28 29 94)
+  177 162 (185 91 87 88 89 173)
+  177 61 (185 91 82 80 78 79 20 19 28 29 92)
+  177 107 (185 91 82 80 78 79 9 8 42 43 129)
+  177 87 (185 91 82 80 78 79 9 8 48 38 40 113)
+  177 77 (185 91 82 80 78 79 20 19 28 27 31 105)
+  177 70 (185 91 82 80 78 79 20 19 28 27 30 35)
+  177 88 (185 91 82 80 78 79 9 8 48 38 40 114)
+  177 156 (185 91 82 80 78 79 9 6 10 16 0 3 69 64 65 72 168)
+  177 83 (185 91 82 80 78 79 20 19 28 27 30 32 33 110)
+  177 150 (185 91 82 80 78 79 9 6 10 16 0 1 15 76)
+  177 85 (185 91 82 80 78 79 9 8 48 38 40)
+  177 111 (185 91 82 80 78 79 9 6 10 16 17 54 56 58 62 132)
+  177 169 (185 91 87 88 90 179)
+  150 125 (76 15 1 2 54 56 59)
+  150 95 (76 15 1 0 16 10 6 8 48 38 41)
+  150 109 (76 15 1 0 16 10 6 8 42 43 131)
+  150 175 (76 15 1 0 16 10 6 9 79 78 80 82 91)
+  150 157 (76 74 73 64 65 72 169)
+  150 81 (76 15 1 0 16 10 6 7 19 28 27 30 32 33 108)
+  150 62 (76 15 1 0 16 10 6 7 19 28 29 93)
+  150 165 (76 15 1 0 16 10 6 9 79 78 80 82 87 88 90)
+  150 168 (76 15 1 0 16 10 6 9 79 78 80 82 87 88 90 178)
+  150 112 (76 15 1 2 54 56 58 62 133)
+  150 69 (76 15 1 0 16 10 6 7 19 28 27 30 34 99)
+  150 145 (76 74 73 69 70)
+  150 178 (76 15 1 0 16 10 6 9 79 78 80 82 91 186)
+  150 124 (76 15 1 2 54 57 143)
+  150 131 (76 15 1 2 52 53 148)
+  150 121 (76 15 1 2 54 57 140)
+  150 98 (76 15 1 0 16 10 6 8 48 38 41 122)
+  150 170 (76 15 1 0 16 10 6 9 79 78 81)
+  150 63 (76 15 1 0 16 10 6 7 19 28 29 94)
+  150 162 (76 15 1 0 16 10 6 9 79 78 80 82 87 88 89 173)
+  150 61 (76 15 1 0 16 10 6 7 19 28 29 92)
+  150 107 (76 15 1 0 16 10 6 8 42 43 129)
+  150 87 (76 15 1 0 16 10 6 8 48 38 40 113)
+  150 77 (76 15 1 0 16 10 6 7 19 28 27 31 105)
+  150 70 (76 15 1 0 16 10 6 7 19 28 27 30 35)
+  150 88 (76 15 1 0 16 10 6 8 48 38 40 114)
+  150 156 (76 74 73 64 65 72 168)
+  150 83 (76 15 1 0 16 10 6 7 19 28 27 30 32 33 110)
+  150 177 (76 15 1 0 16 10 6 9 79 78 80 82 91 185)
+  150 85 (76 15 1 0 16 10 6 8 48 38 40)
+  150 111 (76 15 1 2 54 56 58 62 132)
+  150 169 (76 15 1 0 16 10 6 9 79 78 80 82 87 88 90 179)
+  85 125 (40 38 48 8 6 10 16 17 54 56 59)
+  85 95 (40 41)
+  85 109 (40 38 48 42 43 131)
+  85 175 (40 38 48 8 9 79 78 80 82 91)
+  85 157 (40 38 48 8 6 10 16 0 3 69 64 65 72 169)
+  85 81 (40 38 48 8 7 19 28 27 30 32 33 108)
+  85 62 (40 38 48 8 7 19 28 29 93)
+  85 165 (40 38 48 8 9 79 78 80 82 87 88 90)
+  85 168 (40 38 48 8 9 79 78 80 82 87 88 90 178)
+  85 112 (40 38 48 8 6 10 16 17 54 56 58 62 133)
+  85 69 (40 38 48 8 7 19 28 27 30 34 99)
+  85 145 (40 38 48 8 6 10 16 0 3 70)
+  85 178 (40 38 48 8 9 79 78 80 82 91 186)
+  85 124 (40 38 48 8 6 10 16 17 54 57 143)
+  85 131 (40 38 48 8 6 10 16 17 52 53 148)
+  85 121 (40 38 48 8 6 10 16 17 54 57 140)
+  85 98 (40 41 122)
+  85 170 (40 38 48 8 9 79 78 81)
+  85 63 (40 38 48 8 7 19 28 29 94)
+  85 162 (40 38 48 8 9 79 78 80 82 87 88 89 173)
+  85 61 (40 38 48 8 7 19 28 29 92)
+  85 107 (40 38 48 42 43 129)
+  85 87 (113)
+  85 77 (40 38 48 8 7 19 28 27 31 105)
+  85 70 (40 38 48 8 7 19 28 27 30 35)
+  85 88 (114)
+  85 156 (40 38 48 8 6 10 16 0 3 69 64 65 72 168)
+  85 83 (40 38 48 8 7 19 28 27 30 32 33 110)
+  85 177 (40 38 48 8 9 79 78 80 82 91 185)
+  85 150 (40 38 48 8 6 10 16 0 1 15 76)
+  85 111 (40 38 48 8 6 10 16 17 54 56 58 62 132)
+  85 169 (40 38 48 8 9 79 78 80 82 87 88 90 179)
+  111 125 (132 62 58 59)
+  111 95 (132 62 58 56 54 17 16 10 6 8 48 38 41)
+  111 109 (132 62 58 56 54 17 16 10 6 8 42 43 131)
+  111 175 (132 62 58 56 54 17 16 10 6 9 79 78 80 82 91)
+  111 157 (132 62 58 56 54 2 3 69 64 65 72 169)
+  111 81 (132 62 58 56 54 17 16 10 6 7 19 28 27 30 32 33 108)
+  111 62 (132 62 58 56 54 17 16 10 6 7 19 28 29 93)
+  111 165 (132 62 58 56 54 17 16 10 6 9 79 78 80 82 87 88 90)
+  111 168 (132 62 58 56 54 17 16 10 6 9 79 78 80 82 87 88 90 178)
+  111 112 (132 133)
+  111 69 (132 62 58 56 54 17 16 10 6 7 19 28 27 30 34 99)
+  111 145 (132 62 58 56 54 2 3 70)
+  111 178 (132 62 58 56 54 17 16 10 6 9 79 78 80 82 91 186)
+  111 124 (132 62 58 56 57 143)
+  111 131 (132 62 58 56 54 52 53 148)
+  111 121 (132 62 58 56 57 140)
+  111 98 (132 62 58 56 54 17 16 10 6 8 48 38 41 122)
+  111 170 (132 62 58 56 54 17 16 10 6 9 79 78 81)
+  111 63 (132 62 58 56 54 17 16 10 6 7 19 28 29 94)
+  111 162 (132 62 58 56 54 17 16 10 6 9 79 78 80 82 87 88 89 173)
+  111 61 (132 62 58 56 54 17 16 10 6 7 19 28 29 92)
+  111 107 (132 62 58 56 54 17 16 10 6 8 42 43 129)
+  111 87 (132 62 58 56 54 17 16 10 6 8 48 38 40 113)
+  111 77 (132 62 58 56 54 17 16 10 6 7 19 28 27 31 105)
+  111 70 (132 62 58 56 54 17 16 10 6 7 19 28 27 30 35)
+  111 88 (132 62 58 56 54 17 16 10 6 8 48 38 40 114)
+  111 156 (132 62 58 56 54 2 3 69 64 65 72 168)
+  111 83 (132 62 58 56 54 17 16 10 6 7 19 28 27 30 32 33 110)
+  111 177 (132 62 58 56 54 17 16 10 6 9 79 78 80 82 91 185)
+  111 150 (132 62 58 56 54 2 1 15 76)
+  111 85 (132 62 58 56 54 17 16 10 6 8 48 38 40)
+  111 169 (132 62 58 56 54 17 16 10 6 9 79 78 80 82 87 88 90 179)
+  169 125 (179 90 88 87 82 80 78 79 9 6 10 16 17 54 56 59)
+  169 95 (179 90 88 87 82 80 78 79 9 8 48 38 41)
+  169 109 (179 90 88 87 82 80 78 79 9 8 42 43 131)
+  169 175 (179 90 88 87 91)
+  169 157 (179 90 88 87 82 80 78 79 9 6 10 16 0 3 69 64 65 72 169)
+  169 81 (179 90 88 87 82 80 78 79 20 19 28 27 30 32 33 108)
+  169 62 (179 90 88 87 82 80 78 79 20 19 28 29 93)
+  169 165 (179)
+  169 168 (179 178)
+  169 112 (179 90 88 87 82 80 78 79 9 6 10 16 17 54 56 58 62 133)
+  169 69 (179 90 88 87 82 80 78 79 20 19 28 27 30 34 99)
+  169 145 (179 90 88 87 82 80 78 79 9 6 10 16 0 3 70)
+  169 178 (179 90 88 87 91 186)
+  169 124 (179 90 88 87 82 80 78 79 9 6 10 16 17 54 57 143)
+  169 131 (179 90 88 87 82 80 78 79 9 6 10 16 17 52 53 148)
+  169 121 (179 90 88 87 82 80 78 79 9 6 10 16 17 54 57 140)
+  169 98 (179 90 88 87 82 80 78 79 9 8 48 38 41 122)
+  169 170 (179 90 88 87 82 80 81)
+  169 63 (179 90 88 87 82 80 78 79 20 19 28 29 94)
+  169 162 (179 90 89 173)
+  169 61 (179 90 88 87 82 80 78 79 20 19 28 29 92)
+  169 107 (179 90 88 87 82 80 78 79 9 8 42 43 129)
+  169 87 (179 90 88 87 82 80 78 79 9 8 48 38 40 113)
+  169 77 (179 90 88 87 82 80 78 79 20 19 28 27 31 105)
+  169 70 (179 90 88 87 82 80 78 79 20 19 28 27 30 35)
+  169 88 (179 90 88 87 82 80 78 79 9 8 48 38 40 114)
+  169 156 (179 90 88 87 82 80 78 79 9 6 10 16 0 3 69 64 65 72 168)
+  169 83 (179 90 88 87 82 80 78 79 20 19 28 27 30 32 33 110)
+  169 177 (179 90 88 87 91 185)
+  169 150 (179 90 88 87 82 80 78 79 9 6 10 16 0 1 15 76)
+  169 85 (179 90 88 87 82 80 78 79 9 8 48 38 40)
+  169 111 (179 90 88 87 82 80 78 79 9 6 10 16 17 54 56 58 62 132)
+</ROUTE>
diff --git a/testsuite/msg/msg_test.c b/testsuite/msg/msg_test.c
new file mode 100644 (file)
index 0000000..6359c75
--- /dev/null
@@ -0,0 +1,147 @@
+/*     $Id$     */
+
+/* Copyright (c) 2002,2004,2004 Arnaud Legrand. All rights reserved.        */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
+/** \file msg_test.c 
+ *  \brief Test program for msg.
+*/
+
+#include "msg/msg.h"
+
+/** This flag enable the debugging messages from PRINT_DEBUG_MESSAGE() */
+#undef VERBOSE
+#include "messages.h"
+
+int unix_emitter(int argc, char *argv[]);
+int unix_receiver(int argc, char *argv[]);
+void test_all(const char *platform_file, const char *application_file, double sharing);
+
+
+/** The names of the channels we will use in this simulation. There is
+    only one channel identified by the name PORT_22. */
+typedef enum {
+  PORT_22 = 0,
+  MAX_CHANNEL
+} channel_t;
+
+/** The number of task each slave will process */
+#define NB_TASK 3
+int unix_emitter(int argc, char *argv[])
+{
+  int slaves_count = 0;
+  m_host_t *slaves = NULL;
+  int todo_count = 0;
+  m_task_t *todo = NULL;
+
+  int i;
+
+  {                  /* Process organisation */
+    slaves_count = argc - 1;
+    slaves = calloc(slaves_count, sizeof(m_host_t));
+    
+    for (i = 1; i < argc; i++) {
+      slaves[i-1] = MSG_get_host_by_name(argv[i]);
+      if(slaves[i-1]==NULL) {
+       PRINT_MESSAGE("Unknown host %s. Stopping Now! \n", argv[i]);
+       abort();
+      }
+    }
+  }
+
+  {                  /*  Task creation */
+    char sprintf_buffer[64];
+    int slave  = slaves_count;
+
+    todo = calloc(NB_TASK * slave, sizeof(m_task_t));
+    todo_count = NB_TASK * slave;
+
+    for (i = 0; i < NB_TASK * slave; i++) {
+      sprintf(sprintf_buffer, "Task_%d", i);
+      todo[i] = MSG_task_create(sprintf_buffer, 5000, 10, NULL);
+    }
+  }
+
+  PRINT_MESSAGE("Got %d slave(s) :\n", slaves_count);
+  for (i = 0; i < slaves_count; i++)
+    PRINT_MESSAGE("\t %s\n", slaves[i]->name);
+
+  PRINT_MESSAGE("Got %d task to process :\n", todo_count);
+
+  for (i = 0; i < todo_count; i++)
+    PRINT_MESSAGE("\t\"%s\"\n", todo[i]->name);
+
+  for (i = 0; i < todo_count; i++) {
+    PRINT_MESSAGE("Sending \"%s\" to \"%s\"\n",
+                  todo[i]->name,
+                  slaves[i % slaves_count]->name);
+    MSG_task_put(todo[i], slaves[i % slaves_count],
+                 PORT_22);
+    PRINT_MESSAGE("Send completed\n");
+  }
+  
+  free(slaves);
+  free(todo);
+  return 0;
+}
+
+int unix_receiver(int argc, char *argv[])
+{
+  int todo_count = 0;
+  m_task_t *todo = (m_task_t *) calloc(NB_TASK, sizeof(m_task_t));
+  int i;
+
+
+  for (i = 0; i < NB_TASK;) {
+    int a;
+    PRINT_MESSAGE("Awaiting Task %d \n", i);
+    a = MSG_task_get(&(todo[i]), PORT_22);
+    if (a == MSG_OK) {
+      todo_count++;
+      PRINT_MESSAGE("Received \"%s\" \n", todo[i]->name);
+      PRINT_MESSAGE("Processing \"%s\" \n", todo[i]->name);
+      MSG_task_execute(todo[i]);
+      PRINT_MESSAGE("\"%s\" done \n", todo[i]->name);
+      MSG_task_destroy(todo[i]);
+      i++;
+    } else {
+      PRINT_MESSAGE("Hey ?! What's up ? \n");
+      DIE("Unexpected behaviour");
+    }
+  }
+  free(todo);
+  return 0;
+}
+
+
+void test_all(const char *platform_file,const char *application_file, double sharing)
+{
+  {                            /*  Simulation setting */
+    MSG_global_init();
+    MSG_set_verbosity(MSG_SILENT);
+    MSG_set_channel_number(MAX_CHANNEL);
+    if(sharing<=0) {
+      MSG_set_sharing_policy(MSG_TCP,.1);
+    } else {
+      MSG_set_sharing_policy(MSG_STORE_AND_FORWARD,sharing);
+    }
+    MSG_create_environment(platform_file);
+  }
+  {                            /*   Application deployment */
+    MSG_function_register("master", unix_emitter);
+    MSG_function_register("slave", unix_receiver);
+    MSG_launch_application(application_file);
+  }
+  MSG_main();
+/*   printf("Simulation time %g\n",MSG_getClock()); */
+  MSG_clean();
+}
+
+int main(int argc, char *argv[])
+{
+  test_all("msg_platform.txt","msg_deployment.txt",-.1);
+  test_all("msg_platform.txt","msg_deployment.txt",.1);
+  return (0);
+}