star-enclosures-3d

Extract enclosures from 3D geometry
git clone git://git.meso-star.fr/star-enclosures-3d.git
Log | Files | Refs | README | LICENSE

test_senc3d_some_enclosures.c (52422B)


      1 /* Copyright (C) 2018-2020, 2023, 2024 |Méso|Star> (contact@meso-star.com)
      2  *
      3  * This program is free software: you can redistribute it and/or modify
      4  * it under the terms of the GNU General Public License as published by
      5  * the Free Software Foundation, either version 3 of the License, or
      6  * (at your option) any later version.
      7  *
      8  * This program is distributed in the hope that it will be useful,
      9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
     11  * GNU General Public License for more details.
     12  *
     13  * You should have received a copy of the GNU General Public License
     14  * along with this program. If not, see <http://www.gnu.org/licenses/>. */
     15 
     16 /* This test has been created using the sg3_geometry_dump_as_C_code feature
     17  * of star-geometry. It uses output from test_sg3_some_enclosures.
     18  * This test is similar to test_senc3d_many_enclosures that creates a huge
     19  * geometry by program. */
     20 
     21 #include "senc3d.h"
     22 #include "test_senc3d_utils.h"
     23 
     24 #include <rsys/double3.h>
     25 
     26 /* Dump of star-geometry 'some_enclosures'. */
     27 static const unsigned some_enclosures_vertices_count = 768;
     28 static const double some_enclosures_vertices[2304] =
     29 {
     30  -19, -20, -0.5,
     31  -19, -20, 0.5,
     32  -19.691, -19.0489, -0.5,
     33  -19.691, -19.0489, 0.5,
     34  -20.809, -19.4122, -0.5,
     35  -20.809, -19.4122, 0.5,
     36  -20.809, -20.5878, -0.5,
     37  -20.809, -20.5878, 0.5,
     38  -19.691, -20.9511, -0.5,
     39  -19.691, -20.9511, 0.5,
     40  -20, -20, -0.5,
     41  -20, -20, 0.5,
     42  -18, -20, -1,
     43  -18, -20, 1,
     44  -19.382, -18.0979, -1,
     45  -19.382, -18.0979, 1,
     46  -21.618, -18.8244, -1,
     47  -21.618, -18.8244, 1,
     48  -21.618, -21.1756, -1,
     49  -21.618, -21.1756, 1,
     50  -19.382, -21.9021, -1,
     51  -19.382, -21.9021, 1,
     52  -20, -20, -1,
     53  -20, -20, 1,
     54  -17, -20, -1.5,
     55  -17, -20, 1.5,
     56  -19.0729, -17.1468, -1.5,
     57  -19.0729, -17.1468, 1.5,
     58  -22.4271, -18.2366, -1.5,
     59  -22.4271, -18.2366, 1.5,
     60  -22.4271, -21.7634, -1.5,
     61  -22.4271, -21.7634, 1.5,
     62  -19.0729, -22.8532, -1.5,
     63  -19.0729, -22.8532, 1.5,
     64  -20, -20, -1.5,
     65  -20, -20, 1.5,
     66  -16, -20, -2,
     67  -16, -20, 2,
     68  -18.7639, -16.1958, -2,
     69  -18.7639, -16.1958, 2,
     70  -23.2361, -17.6489, -2,
     71  -23.2361, -17.6489, 2,
     72  -23.2361, -22.3511, -2,
     73  -23.2361, -22.3511, 2,
     74  -18.7639, -23.8042, -2,
     75  -18.7639, -23.8042, 2,
     76  -20, -20, -2,
     77  -20, -20, 2,
     78  -19, -10, -0.5,
     79  -19, -10, 0.5,
     80  -19.691, -9.04894, -0.5,
     81  -19.691, -9.04894, 0.5,
     82  -20.809, -9.41221, -0.5,
     83  -20.809, -9.41221, 0.5,
     84  -20.809, -10.5878, -0.5,
     85  -20.809, -10.5878, 0.5,
     86  -19.691, -10.9511, -0.5,
     87  -19.691, -10.9511, 0.5,
     88  -20, -10, -0.5,
     89  -20, -10, 0.5,
     90  -18, -10, -1,
     91  -18, -10, 1,
     92  -19.382, -8.09789, -1,
     93  -19.382, -8.09789, 1,
     94  -21.618, -8.82443, -1,
     95  -21.618, -8.82443, 1,
     96  -21.618, -11.1756, -1,
     97  -21.618, -11.1756, 1,
     98  -19.382, -11.9021, -1,
     99  -19.382, -11.9021, 1,
    100  -20, -10, -1,
    101  -20, -10, 1,
    102  -17, -10, -1.5,
    103  -17, -10, 1.5,
    104  -19.0729, -7.14683, -1.5,
    105  -19.0729, -7.14683, 1.5,
    106  -22.4271, -8.23664, -1.5,
    107  -22.4271, -8.23664, 1.5,
    108  -22.4271, -11.7634, -1.5,
    109  -22.4271, -11.7634, 1.5,
    110  -19.0729, -12.8532, -1.5,
    111  -19.0729, -12.8532, 1.5,
    112  -20, -10, -1.5,
    113  -20, -10, 1.5,
    114  -16, -10, -2,
    115  -16, -10, 2,
    116  -18.7639, -6.19577, -2,
    117  -18.7639, -6.19577, 2,
    118  -23.2361, -7.64886, -2,
    119  -23.2361, -7.64886, 2,
    120  -23.2361, -12.3511, -2,
    121  -23.2361, -12.3511, 2,
    122  -18.7639, -13.8042, -2,
    123  -18.7639, -13.8042, 2,
    124  -20, -10, -2,
    125  -20, -10, 2,
    126  -19, 0, -0.5,
    127  -19, 0, 0.5,
    128  -19.691, 0.951057, -0.5,
    129  -19.691, 0.951057, 0.5,
    130  -20.809, 0.587785, -0.5,
    131  -20.809, 0.587785, 0.5,
    132  -20.809, -0.587785, -0.5,
    133  -20.809, -0.587785, 0.5,
    134  -19.691, -0.951057, -0.5,
    135  -19.691, -0.951057, 0.5,
    136  -20, 0, -0.5,
    137  -20, 0, 0.5,
    138  -18, 0, -1,
    139  -18, 0, 1,
    140  -19.382, 1.90211, -1,
    141  -19.382, 1.90211, 1,
    142  -21.618, 1.17557, -1,
    143  -21.618, 1.17557, 1,
    144  -21.618, -1.17557, -1,
    145  -21.618, -1.17557, 1,
    146  -19.382, -1.90211, -1,
    147  -19.382, -1.90211, 1,
    148  -20, 0, -1,
    149  -20, 0, 1,
    150  -17, 0, -1.5,
    151  -17, 0, 1.5,
    152  -19.0729, 2.85317, -1.5,
    153  -19.0729, 2.85317, 1.5,
    154  -22.4271, 1.76336, -1.5,
    155  -22.4271, 1.76336, 1.5,
    156  -22.4271, -1.76336, -1.5,
    157  -22.4271, -1.76336, 1.5,
    158  -19.0729, -2.85317, -1.5,
    159  -19.0729, -2.85317, 1.5,
    160  -20, 0, -1.5,
    161  -20, 0, 1.5,
    162  -16, 0, -2,
    163  -16, 0, 2,
    164  -18.7639, 3.80423, -2,
    165  -18.7639, 3.80423, 2,
    166  -23.2361, 2.35114, -2,
    167  -23.2361, 2.35114, 2,
    168  -23.2361, -2.35114, -2,
    169  -23.2361, -2.35114, 2,
    170  -18.7639, -3.80423, -2,
    171  -18.7639, -3.80423, 2,
    172  -20, 0, -2,
    173  -20, 0, 2,
    174  -19, 10, -0.5,
    175  -19, 10, 0.5,
    176  -19.691, 10.9511, -0.5,
    177  -19.691, 10.9511, 0.5,
    178  -20.809, 10.5878, -0.5,
    179  -20.809, 10.5878, 0.5,
    180  -20.809, 9.41221, -0.5,
    181  -20.809, 9.41221, 0.5,
    182  -19.691, 9.04894, -0.5,
    183  -19.691, 9.04894, 0.5,
    184  -20, 10, -0.5,
    185  -20, 10, 0.5,
    186  -18, 10, -1,
    187  -18, 10, 1,
    188  -19.382, 11.9021, -1,
    189  -19.382, 11.9021, 1,
    190  -21.618, 11.1756, -1,
    191  -21.618, 11.1756, 1,
    192  -21.618, 8.82443, -1,
    193  -21.618, 8.82443, 1,
    194  -19.382, 8.09789, -1,
    195  -19.382, 8.09789, 1,
    196  -20, 10, -1,
    197  -20, 10, 1,
    198  -17, 10, -1.5,
    199  -17, 10, 1.5,
    200  -19.0729, 12.8532, -1.5,
    201  -19.0729, 12.8532, 1.5,
    202  -22.4271, 11.7634, -1.5,
    203  -22.4271, 11.7634, 1.5,
    204  -22.4271, 8.23664, -1.5,
    205  -22.4271, 8.23664, 1.5,
    206  -19.0729, 7.14683, -1.5,
    207  -19.0729, 7.14683, 1.5,
    208  -20, 10, -1.5,
    209  -20, 10, 1.5,
    210  -16, 10, -2,
    211  -16, 10, 2,
    212  -18.7639, 13.8042, -2,
    213  -18.7639, 13.8042, 2,
    214  -23.2361, 12.3511, -2,
    215  -23.2361, 12.3511, 2,
    216  -23.2361, 7.64886, -2,
    217  -23.2361, 7.64886, 2,
    218  -18.7639, 6.19577, -2,
    219  -18.7639, 6.19577, 2,
    220  -20, 10, -2,
    221  -20, 10, 2,
    222  -9, -20, -0.5,
    223  -9, -20, 0.5,
    224  -9.69098, -19.0489, -0.5,
    225  -9.69098, -19.0489, 0.5,
    226  -10.809, -19.4122, -0.5,
    227  -10.809, -19.4122, 0.5,
    228  -10.809, -20.5878, -0.5,
    229  -10.809, -20.5878, 0.5,
    230  -9.69098, -20.9511, -0.5,
    231  -9.69098, -20.9511, 0.5,
    232  -10, -20, -0.5,
    233  -10, -20, 0.5,
    234  -8, -20, -1,
    235  -8, -20, 1,
    236  -9.38197, -18.0979, -1,
    237  -9.38197, -18.0979, 1,
    238  -11.618, -18.8244, -1,
    239  -11.618, -18.8244, 1,
    240  -11.618, -21.1756, -1,
    241  -11.618, -21.1756, 1,
    242  -9.38197, -21.9021, -1,
    243  -9.38197, -21.9021, 1,
    244  -10, -20, -1,
    245  -10, -20, 1,
    246  -7, -20, -1.5,
    247  -7, -20, 1.5,
    248  -9.07295, -17.1468, -1.5,
    249  -9.07295, -17.1468, 1.5,
    250  -12.4271, -18.2366, -1.5,
    251  -12.4271, -18.2366, 1.5,
    252  -12.4271, -21.7634, -1.5,
    253  -12.4271, -21.7634, 1.5,
    254  -9.07295, -22.8532, -1.5,
    255  -9.07295, -22.8532, 1.5,
    256  -10, -20, -1.5,
    257  -10, -20, 1.5,
    258  -6, -20, -2,
    259  -6, -20, 2,
    260  -8.76393, -16.1958, -2,
    261  -8.76393, -16.1958, 2,
    262  -13.2361, -17.6489, -2,
    263  -13.2361, -17.6489, 2,
    264  -13.2361, -22.3511, -2,
    265  -13.2361, -22.3511, 2,
    266  -8.76393, -23.8042, -2,
    267  -8.76393, -23.8042, 2,
    268  -10, -20, -2,
    269  -10, -20, 2,
    270  -9, -10, -0.5,
    271  -9, -10, 0.5,
    272  -9.69098, -9.04894, -0.5,
    273  -9.69098, -9.04894, 0.5,
    274  -10.809, -9.41221, -0.5,
    275  -10.809, -9.41221, 0.5,
    276  -10.809, -10.5878, -0.5,
    277  -10.809, -10.5878, 0.5,
    278  -9.69098, -10.9511, -0.5,
    279  -9.69098, -10.9511, 0.5,
    280  -10, -10, -0.5,
    281  -10, -10, 0.5,
    282  -8, -10, -1,
    283  -8, -10, 1,
    284  -9.38197, -8.09789, -1,
    285  -9.38197, -8.09789, 1,
    286  -11.618, -8.82443, -1,
    287  -11.618, -8.82443, 1,
    288  -11.618, -11.1756, -1,
    289  -11.618, -11.1756, 1,
    290  -9.38197, -11.9021, -1,
    291  -9.38197, -11.9021, 1,
    292  -10, -10, -1,
    293  -10, -10, 1,
    294  -7, -10, -1.5,
    295  -7, -10, 1.5,
    296  -9.07295, -7.14683, -1.5,
    297  -9.07295, -7.14683, 1.5,
    298  -12.4271, -8.23664, -1.5,
    299  -12.4271, -8.23664, 1.5,
    300  -12.4271, -11.7634, -1.5,
    301  -12.4271, -11.7634, 1.5,
    302  -9.07295, -12.8532, -1.5,
    303  -9.07295, -12.8532, 1.5,
    304  -10, -10, -1.5,
    305  -10, -10, 1.5,
    306  -6, -10, -2,
    307  -6, -10, 2,
    308  -8.76393, -6.19577, -2,
    309  -8.76393, -6.19577, 2,
    310  -13.2361, -7.64886, -2,
    311  -13.2361, -7.64886, 2,
    312  -13.2361, -12.3511, -2,
    313  -13.2361, -12.3511, 2,
    314  -8.76393, -13.8042, -2,
    315  -8.76393, -13.8042, 2,
    316  -10, -10, -2,
    317  -10, -10, 2,
    318  -9, 0, -0.5,
    319  -9, 0, 0.5,
    320  -9.69098, 0.951057, -0.5,
    321  -9.69098, 0.951057, 0.5,
    322  -10.809, 0.587785, -0.5,
    323  -10.809, 0.587785, 0.5,
    324  -10.809, -0.587785, -0.5,
    325  -10.809, -0.587785, 0.5,
    326  -9.69098, -0.951057, -0.5,
    327  -9.69098, -0.951057, 0.5,
    328  -10, 0, -0.5,
    329  -10, 0, 0.5,
    330  -8, 0, -1,
    331  -8, 0, 1,
    332  -9.38197, 1.90211, -1,
    333  -9.38197, 1.90211, 1,
    334  -11.618, 1.17557, -1,
    335  -11.618, 1.17557, 1,
    336  -11.618, -1.17557, -1,
    337  -11.618, -1.17557, 1,
    338  -9.38197, -1.90211, -1,
    339  -9.38197, -1.90211, 1,
    340  -10, 0, -1,
    341  -10, 0, 1,
    342  -7, 0, -1.5,
    343  -7, 0, 1.5,
    344  -9.07295, 2.85317, -1.5,
    345  -9.07295, 2.85317, 1.5,
    346  -12.4271, 1.76336, -1.5,
    347  -12.4271, 1.76336, 1.5,
    348  -12.4271, -1.76336, -1.5,
    349  -12.4271, -1.76336, 1.5,
    350  -9.07295, -2.85317, -1.5,
    351  -9.07295, -2.85317, 1.5,
    352  -10, 0, -1.5,
    353  -10, 0, 1.5,
    354  -6, 0, -2,
    355  -6, 0, 2,
    356  -8.76393, 3.80423, -2,
    357  -8.76393, 3.80423, 2,
    358  -13.2361, 2.35114, -2,
    359  -13.2361, 2.35114, 2,
    360  -13.2361, -2.35114, -2,
    361  -13.2361, -2.35114, 2,
    362  -8.76393, -3.80423, -2,
    363  -8.76393, -3.80423, 2,
    364  -10, 0, -2,
    365  -10, 0, 2,
    366  -9, 10, -0.5,
    367  -9, 10, 0.5,
    368  -9.69098, 10.9511, -0.5,
    369  -9.69098, 10.9511, 0.5,
    370  -10.809, 10.5878, -0.5,
    371  -10.809, 10.5878, 0.5,
    372  -10.809, 9.41221, -0.5,
    373  -10.809, 9.41221, 0.5,
    374  -9.69098, 9.04894, -0.5,
    375  -9.69098, 9.04894, 0.5,
    376  -10, 10, -0.5,
    377  -10, 10, 0.5,
    378  -8, 10, -1,
    379  -8, 10, 1,
    380  -9.38197, 11.9021, -1,
    381  -9.38197, 11.9021, 1,
    382  -11.618, 11.1756, -1,
    383  -11.618, 11.1756, 1,
    384  -11.618, 8.82443, -1,
    385  -11.618, 8.82443, 1,
    386  -9.38197, 8.09789, -1,
    387  -9.38197, 8.09789, 1,
    388  -10, 10, -1,
    389  -10, 10, 1,
    390  -7, 10, -1.5,
    391  -7, 10, 1.5,
    392  -9.07295, 12.8532, -1.5,
    393  -9.07295, 12.8532, 1.5,
    394  -12.4271, 11.7634, -1.5,
    395  -12.4271, 11.7634, 1.5,
    396  -12.4271, 8.23664, -1.5,
    397  -12.4271, 8.23664, 1.5,
    398  -9.07295, 7.14683, -1.5,
    399  -9.07295, 7.14683, 1.5,
    400  -10, 10, -1.5,
    401  -10, 10, 1.5,
    402  -6, 10, -2,
    403  -6, 10, 2,
    404  -8.76393, 13.8042, -2,
    405  -8.76393, 13.8042, 2,
    406  -13.2361, 12.3511, -2,
    407  -13.2361, 12.3511, 2,
    408  -13.2361, 7.64886, -2,
    409  -13.2361, 7.64886, 2,
    410  -8.76393, 6.19577, -2,
    411  -8.76393, 6.19577, 2,
    412  -10, 10, -2,
    413  -10, 10, 2,
    414  1, -20, -0.5,
    415  1, -20, 0.5,
    416  0.309017, -19.0489, -0.5,
    417  0.309017, -19.0489, 0.5,
    418  -0.809017, -19.4122, -0.5,
    419  -0.809017, -19.4122, 0.5,
    420  -0.809017, -20.5878, -0.5,
    421  -0.809017, -20.5878, 0.5,
    422  0.309017, -20.9511, -0.5,
    423  0.309017, -20.9511, 0.5,
    424  0, -20, -0.5,
    425  0, -20, 0.5,
    426  2, -20, -1,
    427  2, -20, 1,
    428  0.618034, -18.0979, -1,
    429  0.618034, -18.0979, 1,
    430  -1.61803, -18.8244, -1,
    431  -1.61803, -18.8244, 1,
    432  -1.61803, -21.1756, -1,
    433  -1.61803, -21.1756, 1,
    434  0.618034, -21.9021, -1,
    435  0.618034, -21.9021, 1,
    436  0, -20, -1,
    437  0, -20, 1,
    438  3, -20, -1.5,
    439  3, -20, 1.5,
    440  0.927051, -17.1468, -1.5,
    441  0.927051, -17.1468, 1.5,
    442  -2.42705, -18.2366, -1.5,
    443  -2.42705, -18.2366, 1.5,
    444  -2.42705, -21.7634, -1.5,
    445  -2.42705, -21.7634, 1.5,
    446  0.927051, -22.8532, -1.5,
    447  0.927051, -22.8532, 1.5,
    448  0, -20, -1.5,
    449  0, -20, 1.5,
    450  4, -20, -2,
    451  4, -20, 2,
    452  1.23607, -16.1958, -2,
    453  1.23607, -16.1958, 2,
    454  -3.23607, -17.6489, -2,
    455  -3.23607, -17.6489, 2,
    456  -3.23607, -22.3511, -2,
    457  -3.23607, -22.3511, 2,
    458  1.23607, -23.8042, -2,
    459  1.23607, -23.8042, 2,
    460  0, -20, -2,
    461  0, -20, 2,
    462  1, -10, -0.5,
    463  1, -10, 0.5,
    464  0.309017, -9.04894, -0.5,
    465  0.309017, -9.04894, 0.5,
    466  -0.809017, -9.41221, -0.5,
    467  -0.809017, -9.41221, 0.5,
    468  -0.809017, -10.5878, -0.5,
    469  -0.809017, -10.5878, 0.5,
    470  0.309017, -10.9511, -0.5,
    471  0.309017, -10.9511, 0.5,
    472  0, -10, -0.5,
    473  0, -10, 0.5,
    474  2, -10, -1,
    475  2, -10, 1,
    476  0.618034, -8.09789, -1,
    477  0.618034, -8.09789, 1,
    478  -1.61803, -8.82443, -1,
    479  -1.61803, -8.82443, 1,
    480  -1.61803, -11.1756, -1,
    481  -1.61803, -11.1756, 1,
    482  0.618034, -11.9021, -1,
    483  0.618034, -11.9021, 1,
    484  0, -10, -1,
    485  0, -10, 1,
    486  3, -10, -1.5,
    487  3, -10, 1.5,
    488  0.927051, -7.14683, -1.5,
    489  0.927051, -7.14683, 1.5,
    490  -2.42705, -8.23664, -1.5,
    491  -2.42705, -8.23664, 1.5,
    492  -2.42705, -11.7634, -1.5,
    493  -2.42705, -11.7634, 1.5,
    494  0.927051, -12.8532, -1.5,
    495  0.927051, -12.8532, 1.5,
    496  0, -10, -1.5,
    497  0, -10, 1.5,
    498  4, -10, -2,
    499  4, -10, 2,
    500  1.23607, -6.19577, -2,
    501  1.23607, -6.19577, 2,
    502  -3.23607, -7.64886, -2,
    503  -3.23607, -7.64886, 2,
    504  -3.23607, -12.3511, -2,
    505  -3.23607, -12.3511, 2,
    506  1.23607, -13.8042, -2,
    507  1.23607, -13.8042, 2,
    508  0, -10, -2,
    509  0, -10, 2,
    510  1, 0, -0.5,
    511  1, 0, 0.5,
    512  0.309017, 0.951057, -0.5,
    513  0.309017, 0.951057, 0.5,
    514  -0.809017, 0.587785, -0.5,
    515  -0.809017, 0.587785, 0.5,
    516  -0.809017, -0.587785, -0.5,
    517  -0.809017, -0.587785, 0.5,
    518  0.309017, -0.951057, -0.5,
    519  0.309017, -0.951057, 0.5,
    520  0, 0, -0.5,
    521  0, 0, 0.5,
    522  2, 0, -1,
    523  2, 0, 1,
    524  0.618034, 1.90211, -1,
    525  0.618034, 1.90211, 1,
    526  -1.61803, 1.17557, -1,
    527  -1.61803, 1.17557, 1,
    528  -1.61803, -1.17557, -1,
    529  -1.61803, -1.17557, 1,
    530  0.618034, -1.90211, -1,
    531  0.618034, -1.90211, 1,
    532  0, 0, -1,
    533  0, 0, 1,
    534  3, 0, -1.5,
    535  3, 0, 1.5,
    536  0.927051, 2.85317, -1.5,
    537  0.927051, 2.85317, 1.5,
    538  -2.42705, 1.76336, -1.5,
    539  -2.42705, 1.76336, 1.5,
    540  -2.42705, -1.76336, -1.5,
    541  -2.42705, -1.76336, 1.5,
    542  0.927051, -2.85317, -1.5,
    543  0.927051, -2.85317, 1.5,
    544  0, 0, -1.5,
    545  0, 0, 1.5,
    546  4, 0, -2,
    547  4, 0, 2,
    548  1.23607, 3.80423, -2,
    549  1.23607, 3.80423, 2,
    550  -3.23607, 2.35114, -2,
    551  -3.23607, 2.35114, 2,
    552  -3.23607, -2.35114, -2,
    553  -3.23607, -2.35114, 2,
    554  1.23607, -3.80423, -2,
    555  1.23607, -3.80423, 2,
    556  0, 0, -2,
    557  0, 0, 2,
    558  1, 10, -0.5,
    559  1, 10, 0.5,
    560  0.309017, 10.9511, -0.5,
    561  0.309017, 10.9511, 0.5,
    562  -0.809017, 10.5878, -0.5,
    563  -0.809017, 10.5878, 0.5,
    564  -0.809017, 9.41221, -0.5,
    565  -0.809017, 9.41221, 0.5,
    566  0.309017, 9.04894, -0.5,
    567  0.309017, 9.04894, 0.5,
    568  0, 10, -0.5,
    569  0, 10, 0.5,
    570  2, 10, -1,
    571  2, 10, 1,
    572  0.618034, 11.9021, -1,
    573  0.618034, 11.9021, 1,
    574  -1.61803, 11.1756, -1,
    575  -1.61803, 11.1756, 1,
    576  -1.61803, 8.82443, -1,
    577  -1.61803, 8.82443, 1,
    578  0.618034, 8.09789, -1,
    579  0.618034, 8.09789, 1,
    580  0, 10, -1,
    581  0, 10, 1,
    582  3, 10, -1.5,
    583  3, 10, 1.5,
    584  0.927051, 12.8532, -1.5,
    585  0.927051, 12.8532, 1.5,
    586  -2.42705, 11.7634, -1.5,
    587  -2.42705, 11.7634, 1.5,
    588  -2.42705, 8.23664, -1.5,
    589  -2.42705, 8.23664, 1.5,
    590  0.927051, 7.14683, -1.5,
    591  0.927051, 7.14683, 1.5,
    592  0, 10, -1.5,
    593  0, 10, 1.5,
    594  4, 10, -2,
    595  4, 10, 2,
    596  1.23607, 13.8042, -2,
    597  1.23607, 13.8042, 2,
    598  -3.23607, 12.3511, -2,
    599  -3.23607, 12.3511, 2,
    600  -3.23607, 7.64886, -2,
    601  -3.23607, 7.64886, 2,
    602  1.23607, 6.19577, -2,
    603  1.23607, 6.19577, 2,
    604  0, 10, -2,
    605  0, 10, 2,
    606  11, -20, -0.5,
    607  11, -20, 0.5,
    608  10.309, -19.0489, -0.5,
    609  10.309, -19.0489, 0.5,
    610  9.19098, -19.4122, -0.5,
    611  9.19098, -19.4122, 0.5,
    612  9.19098, -20.5878, -0.5,
    613  9.19098, -20.5878, 0.5,
    614  10.309, -20.9511, -0.5,
    615  10.309, -20.9511, 0.5,
    616  10, -20, -0.5,
    617  10, -20, 0.5,
    618  12, -20, -1,
    619  12, -20, 1,
    620  10.618, -18.0979, -1,
    621  10.618, -18.0979, 1,
    622  8.38197, -18.8244, -1,
    623  8.38197, -18.8244, 1,
    624  8.38197, -21.1756, -1,
    625  8.38197, -21.1756, 1,
    626  10.618, -21.9021, -1,
    627  10.618, -21.9021, 1,
    628  10, -20, -1,
    629  10, -20, 1,
    630  13, -20, -1.5,
    631  13, -20, 1.5,
    632  10.9271, -17.1468, -1.5,
    633  10.9271, -17.1468, 1.5,
    634  7.57295, -18.2366, -1.5,
    635  7.57295, -18.2366, 1.5,
    636  7.57295, -21.7634, -1.5,
    637  7.57295, -21.7634, 1.5,
    638  10.9271, -22.8532, -1.5,
    639  10.9271, -22.8532, 1.5,
    640  10, -20, -1.5,
    641  10, -20, 1.5,
    642  14, -20, -2,
    643  14, -20, 2,
    644  11.2361, -16.1958, -2,
    645  11.2361, -16.1958, 2,
    646  6.76393, -17.6489, -2,
    647  6.76393, -17.6489, 2,
    648  6.76393, -22.3511, -2,
    649  6.76393, -22.3511, 2,
    650  11.2361, -23.8042, -2,
    651  11.2361, -23.8042, 2,
    652  10, -20, -2,
    653  10, -20, 2,
    654  11, -10, -0.5,
    655  11, -10, 0.5,
    656  10.309, -9.04894, -0.5,
    657  10.309, -9.04894, 0.5,
    658  9.19098, -9.41221, -0.5,
    659  9.19098, -9.41221, 0.5,
    660  9.19098, -10.5878, -0.5,
    661  9.19098, -10.5878, 0.5,
    662  10.309, -10.9511, -0.5,
    663  10.309, -10.9511, 0.5,
    664  10, -10, -0.5,
    665  10, -10, 0.5,
    666  12, -10, -1,
    667  12, -10, 1,
    668  10.618, -8.09789, -1,
    669  10.618, -8.09789, 1,
    670  8.38197, -8.82443, -1,
    671  8.38197, -8.82443, 1,
    672  8.38197, -11.1756, -1,
    673  8.38197, -11.1756, 1,
    674  10.618, -11.9021, -1,
    675  10.618, -11.9021, 1,
    676  10, -10, -1,
    677  10, -10, 1,
    678  13, -10, -1.5,
    679  13, -10, 1.5,
    680  10.9271, -7.14683, -1.5,
    681  10.9271, -7.14683, 1.5,
    682  7.57295, -8.23664, -1.5,
    683  7.57295, -8.23664, 1.5,
    684  7.57295, -11.7634, -1.5,
    685  7.57295, -11.7634, 1.5,
    686  10.9271, -12.8532, -1.5,
    687  10.9271, -12.8532, 1.5,
    688  10, -10, -1.5,
    689  10, -10, 1.5,
    690  14, -10, -2,
    691  14, -10, 2,
    692  11.2361, -6.19577, -2,
    693  11.2361, -6.19577, 2,
    694  6.76393, -7.64886, -2,
    695  6.76393, -7.64886, 2,
    696  6.76393, -12.3511, -2,
    697  6.76393, -12.3511, 2,
    698  11.2361, -13.8042, -2,
    699  11.2361, -13.8042, 2,
    700  10, -10, -2,
    701  10, -10, 2,
    702  11, 0, -0.5,
    703  11, 0, 0.5,
    704  10.309, 0.951057, -0.5,
    705  10.309, 0.951057, 0.5,
    706  9.19098, 0.587785, -0.5,
    707  9.19098, 0.587785, 0.5,
    708  9.19098, -0.587785, -0.5,
    709  9.19098, -0.587785, 0.5,
    710  10.309, -0.951057, -0.5,
    711  10.309, -0.951057, 0.5,
    712  10, 0, -0.5,
    713  10, 0, 0.5,
    714  12, 0, -1,
    715  12, 0, 1,
    716  10.618, 1.90211, -1,
    717  10.618, 1.90211, 1,
    718  8.38197, 1.17557, -1,
    719  8.38197, 1.17557, 1,
    720  8.38197, -1.17557, -1,
    721  8.38197, -1.17557, 1,
    722  10.618, -1.90211, -1,
    723  10.618, -1.90211, 1,
    724  10, 0, -1,
    725  10, 0, 1,
    726  13, 0, -1.5,
    727  13, 0, 1.5,
    728  10.9271, 2.85317, -1.5,
    729  10.9271, 2.85317, 1.5,
    730  7.57295, 1.76336, -1.5,
    731  7.57295, 1.76336, 1.5,
    732  7.57295, -1.76336, -1.5,
    733  7.57295, -1.76336, 1.5,
    734  10.9271, -2.85317, -1.5,
    735  10.9271, -2.85317, 1.5,
    736  10, 0, -1.5,
    737  10, 0, 1.5,
    738  14, 0, -2,
    739  14, 0, 2,
    740  11.2361, 3.80423, -2,
    741  11.2361, 3.80423, 2,
    742  6.76393, 2.35114, -2,
    743  6.76393, 2.35114, 2,
    744  6.76393, -2.35114, -2,
    745  6.76393, -2.35114, 2,
    746  11.2361, -3.80423, -2,
    747  11.2361, -3.80423, 2,
    748  10, 0, -2,
    749  10, 0, 2,
    750  11, 10, -0.5,
    751  11, 10, 0.5,
    752  10.309, 10.9511, -0.5,
    753  10.309, 10.9511, 0.5,
    754  9.19098, 10.5878, -0.5,
    755  9.19098, 10.5878, 0.5,
    756  9.19098, 9.41221, -0.5,
    757  9.19098, 9.41221, 0.5,
    758  10.309, 9.04894, -0.5,
    759  10.309, 9.04894, 0.5,
    760  10, 10, -0.5,
    761  10, 10, 0.5,
    762  12, 10, -1,
    763  12, 10, 1,
    764  10.618, 11.9021, -1,
    765  10.618, 11.9021, 1,
    766  8.38197, 11.1756, -1,
    767  8.38197, 11.1756, 1,
    768  8.38197, 8.82443, -1,
    769  8.38197, 8.82443, 1,
    770  10.618, 8.09789, -1,
    771  10.618, 8.09789, 1,
    772  10, 10, -1,
    773  10, 10, 1,
    774  13, 10, -1.5,
    775  13, 10, 1.5,
    776  10.9271, 12.8532, -1.5,
    777  10.9271, 12.8532, 1.5,
    778  7.57295, 11.7634, -1.5,
    779  7.57295, 11.7634, 1.5,
    780  7.57295, 8.23664, -1.5,
    781  7.57295, 8.23664, 1.5,
    782  10.9271, 7.14683, -1.5,
    783  10.9271, 7.14683, 1.5,
    784  10, 10, -1.5,
    785  10, 10, 1.5,
    786  14, 10, -2,
    787  14, 10, 2,
    788  11.2361, 13.8042, -2,
    789  11.2361, 13.8042, 2,
    790  6.76393, 12.3511, -2,
    791  6.76393, 12.3511, 2,
    792  6.76393, 7.64886, -2,
    793  6.76393, 7.64886, 2,
    794  11.2361, 6.19577, -2,
    795  11.2361, 6.19577, 2,
    796  10, 10, -2,
    797  10, 10, 2
    798 };
    799 static const unsigned some_enclosures_triangles_count = 1280;
    800 static const unsigned some_enclosures_triangles[3840] =
    801 {
    802  0, 1, 2,
    803  2, 1, 3,
    804  2, 3, 4,
    805  4, 3, 5,
    806  4, 5, 6,
    807  6, 5, 7,
    808  6, 7, 8,
    809  8, 7, 9,
    810  8, 9, 0,
    811  0, 9, 1,
    812  10, 0, 2,
    813  10, 2, 4,
    814  10, 4, 6,
    815  10, 6, 8,
    816  10, 8, 0,
    817  11, 3, 1,
    818  11, 5, 3,
    819  11, 7, 5,
    820  11, 9, 7,
    821  11, 1, 9,
    822  12, 13, 14,
    823  14, 13, 15,
    824  14, 15, 16,
    825  16, 15, 17,
    826  16, 17, 18,
    827  18, 17, 19,
    828  18, 19, 20,
    829  20, 19, 21,
    830  20, 21, 12,
    831  12, 21, 13,
    832  22, 12, 14,
    833  22, 14, 16,
    834  22, 16, 18,
    835  22, 18, 20,
    836  22, 20, 12,
    837  23, 15, 13,
    838  23, 17, 15,
    839  23, 19, 17,
    840  23, 21, 19,
    841  23, 13, 21,
    842  24, 25, 26,
    843  26, 25, 27,
    844  26, 27, 28,
    845  28, 27, 29,
    846  28, 29, 30,
    847  30, 29, 31,
    848  30, 31, 32,
    849  32, 31, 33,
    850  32, 33, 24,
    851  24, 33, 25,
    852  34, 24, 26,
    853  34, 26, 28,
    854  34, 28, 30,
    855  34, 30, 32,
    856  34, 32, 24,
    857  35, 27, 25,
    858  35, 29, 27,
    859  35, 31, 29,
    860  35, 33, 31,
    861  35, 25, 33,
    862  36, 37, 38,
    863  38, 37, 39,
    864  38, 39, 40,
    865  40, 39, 41,
    866  40, 41, 42,
    867  42, 41, 43,
    868  42, 43, 44,
    869  44, 43, 45,
    870  44, 45, 36,
    871  36, 45, 37,
    872  46, 36, 38,
    873  46, 38, 40,
    874  46, 40, 42,
    875  46, 42, 44,
    876  46, 44, 36,
    877  47, 39, 37,
    878  47, 41, 39,
    879  47, 43, 41,
    880  47, 45, 43,
    881  47, 37, 45,
    882  48, 49, 50,
    883  50, 49, 51,
    884  50, 51, 52,
    885  52, 51, 53,
    886  52, 53, 54,
    887  54, 53, 55,
    888  54, 55, 56,
    889  56, 55, 57,
    890  56, 57, 48,
    891  48, 57, 49,
    892  58, 48, 50,
    893  58, 50, 52,
    894  58, 52, 54,
    895  58, 54, 56,
    896  58, 56, 48,
    897  59, 51, 49,
    898  59, 53, 51,
    899  59, 55, 53,
    900  59, 57, 55,
    901  59, 49, 57,
    902  60, 61, 62,
    903  62, 61, 63,
    904  62, 63, 64,
    905  64, 63, 65,
    906  64, 65, 66,
    907  66, 65, 67,
    908  66, 67, 68,
    909  68, 67, 69,
    910  68, 69, 60,
    911  60, 69, 61,
    912  70, 60, 62,
    913  70, 62, 64,
    914  70, 64, 66,
    915  70, 66, 68,
    916  70, 68, 60,
    917  71, 63, 61,
    918  71, 65, 63,
    919  71, 67, 65,
    920  71, 69, 67,
    921  71, 61, 69,
    922  72, 73, 74,
    923  74, 73, 75,
    924  74, 75, 76,
    925  76, 75, 77,
    926  76, 77, 78,
    927  78, 77, 79,
    928  78, 79, 80,
    929  80, 79, 81,
    930  80, 81, 72,
    931  72, 81, 73,
    932  82, 72, 74,
    933  82, 74, 76,
    934  82, 76, 78,
    935  82, 78, 80,
    936  82, 80, 72,
    937  83, 75, 73,
    938  83, 77, 75,
    939  83, 79, 77,
    940  83, 81, 79,
    941  83, 73, 81,
    942  84, 85, 86,
    943  86, 85, 87,
    944  86, 87, 88,
    945  88, 87, 89,
    946  88, 89, 90,
    947  90, 89, 91,
    948  90, 91, 92,
    949  92, 91, 93,
    950  92, 93, 84,
    951  84, 93, 85,
    952  94, 84, 86,
    953  94, 86, 88,
    954  94, 88, 90,
    955  94, 90, 92,
    956  94, 92, 84,
    957  95, 87, 85,
    958  95, 89, 87,
    959  95, 91, 89,
    960  95, 93, 91,
    961  95, 85, 93,
    962  96, 97, 98,
    963  98, 97, 99,
    964  98, 99, 100,
    965  100, 99, 101,
    966  100, 101, 102,
    967  102, 101, 103,
    968  102, 103, 104,
    969  104, 103, 105,
    970  104, 105, 96,
    971  96, 105, 97,
    972  106, 96, 98,
    973  106, 98, 100,
    974  106, 100, 102,
    975  106, 102, 104,
    976  106, 104, 96,
    977  107, 99, 97,
    978  107, 101, 99,
    979  107, 103, 101,
    980  107, 105, 103,
    981  107, 97, 105,
    982  108, 109, 110,
    983  110, 109, 111,
    984  110, 111, 112,
    985  112, 111, 113,
    986  112, 113, 114,
    987  114, 113, 115,
    988  114, 115, 116,
    989  116, 115, 117,
    990  116, 117, 108,
    991  108, 117, 109,
    992  118, 108, 110,
    993  118, 110, 112,
    994  118, 112, 114,
    995  118, 114, 116,
    996  118, 116, 108,
    997  119, 111, 109,
    998  119, 113, 111,
    999  119, 115, 113,
   1000  119, 117, 115,
   1001  119, 109, 117,
   1002  120, 121, 122,
   1003  122, 121, 123,
   1004  122, 123, 124,
   1005  124, 123, 125,
   1006  124, 125, 126,
   1007  126, 125, 127,
   1008  126, 127, 128,
   1009  128, 127, 129,
   1010  128, 129, 120,
   1011  120, 129, 121,
   1012  130, 120, 122,
   1013  130, 122, 124,
   1014  130, 124, 126,
   1015  130, 126, 128,
   1016  130, 128, 120,
   1017  131, 123, 121,
   1018  131, 125, 123,
   1019  131, 127, 125,
   1020  131, 129, 127,
   1021  131, 121, 129,
   1022  132, 133, 134,
   1023  134, 133, 135,
   1024  134, 135, 136,
   1025  136, 135, 137,
   1026  136, 137, 138,
   1027  138, 137, 139,
   1028  138, 139, 140,
   1029  140, 139, 141,
   1030  140, 141, 132,
   1031  132, 141, 133,
   1032  142, 132, 134,
   1033  142, 134, 136,
   1034  142, 136, 138,
   1035  142, 138, 140,
   1036  142, 140, 132,
   1037  143, 135, 133,
   1038  143, 137, 135,
   1039  143, 139, 137,
   1040  143, 141, 139,
   1041  143, 133, 141,
   1042  144, 145, 146,
   1043  146, 145, 147,
   1044  146, 147, 148,
   1045  148, 147, 149,
   1046  148, 149, 150,
   1047  150, 149, 151,
   1048  150, 151, 152,
   1049  152, 151, 153,
   1050  152, 153, 144,
   1051  144, 153, 145,
   1052  154, 144, 146,
   1053  154, 146, 148,
   1054  154, 148, 150,
   1055  154, 150, 152,
   1056  154, 152, 144,
   1057  155, 147, 145,
   1058  155, 149, 147,
   1059  155, 151, 149,
   1060  155, 153, 151,
   1061  155, 145, 153,
   1062  156, 157, 158,
   1063  158, 157, 159,
   1064  158, 159, 160,
   1065  160, 159, 161,
   1066  160, 161, 162,
   1067  162, 161, 163,
   1068  162, 163, 164,
   1069  164, 163, 165,
   1070  164, 165, 156,
   1071  156, 165, 157,
   1072  166, 156, 158,
   1073  166, 158, 160,
   1074  166, 160, 162,
   1075  166, 162, 164,
   1076  166, 164, 156,
   1077  167, 159, 157,
   1078  167, 161, 159,
   1079  167, 163, 161,
   1080  167, 165, 163,
   1081  167, 157, 165,
   1082  168, 169, 170,
   1083  170, 169, 171,
   1084  170, 171, 172,
   1085  172, 171, 173,
   1086  172, 173, 174,
   1087  174, 173, 175,
   1088  174, 175, 176,
   1089  176, 175, 177,
   1090  176, 177, 168,
   1091  168, 177, 169,
   1092  178, 168, 170,
   1093  178, 170, 172,
   1094  178, 172, 174,
   1095  178, 174, 176,
   1096  178, 176, 168,
   1097  179, 171, 169,
   1098  179, 173, 171,
   1099  179, 175, 173,
   1100  179, 177, 175,
   1101  179, 169, 177,
   1102  180, 181, 182,
   1103  182, 181, 183,
   1104  182, 183, 184,
   1105  184, 183, 185,
   1106  184, 185, 186,
   1107  186, 185, 187,
   1108  186, 187, 188,
   1109  188, 187, 189,
   1110  188, 189, 180,
   1111  180, 189, 181,
   1112  190, 180, 182,
   1113  190, 182, 184,
   1114  190, 184, 186,
   1115  190, 186, 188,
   1116  190, 188, 180,
   1117  191, 183, 181,
   1118  191, 185, 183,
   1119  191, 187, 185,
   1120  191, 189, 187,
   1121  191, 181, 189,
   1122  192, 193, 194,
   1123  194, 193, 195,
   1124  194, 195, 196,
   1125  196, 195, 197,
   1126  196, 197, 198,
   1127  198, 197, 199,
   1128  198, 199, 200,
   1129  200, 199, 201,
   1130  200, 201, 192,
   1131  192, 201, 193,
   1132  202, 192, 194,
   1133  202, 194, 196,
   1134  202, 196, 198,
   1135  202, 198, 200,
   1136  202, 200, 192,
   1137  203, 195, 193,
   1138  203, 197, 195,
   1139  203, 199, 197,
   1140  203, 201, 199,
   1141  203, 193, 201,
   1142  204, 205, 206,
   1143  206, 205, 207,
   1144  206, 207, 208,
   1145  208, 207, 209,
   1146  208, 209, 210,
   1147  210, 209, 211,
   1148  210, 211, 212,
   1149  212, 211, 213,
   1150  212, 213, 204,
   1151  204, 213, 205,
   1152  214, 204, 206,
   1153  214, 206, 208,
   1154  214, 208, 210,
   1155  214, 210, 212,
   1156  214, 212, 204,
   1157  215, 207, 205,
   1158  215, 209, 207,
   1159  215, 211, 209,
   1160  215, 213, 211,
   1161  215, 205, 213,
   1162  216, 217, 218,
   1163  218, 217, 219,
   1164  218, 219, 220,
   1165  220, 219, 221,
   1166  220, 221, 222,
   1167  222, 221, 223,
   1168  222, 223, 224,
   1169  224, 223, 225,
   1170  224, 225, 216,
   1171  216, 225, 217,
   1172  226, 216, 218,
   1173  226, 218, 220,
   1174  226, 220, 222,
   1175  226, 222, 224,
   1176  226, 224, 216,
   1177  227, 219, 217,
   1178  227, 221, 219,
   1179  227, 223, 221,
   1180  227, 225, 223,
   1181  227, 217, 225,
   1182  228, 229, 230,
   1183  230, 229, 231,
   1184  230, 231, 232,
   1185  232, 231, 233,
   1186  232, 233, 234,
   1187  234, 233, 235,
   1188  234, 235, 236,
   1189  236, 235, 237,
   1190  236, 237, 228,
   1191  228, 237, 229,
   1192  238, 228, 230,
   1193  238, 230, 232,
   1194  238, 232, 234,
   1195  238, 234, 236,
   1196  238, 236, 228,
   1197  239, 231, 229,
   1198  239, 233, 231,
   1199  239, 235, 233,
   1200  239, 237, 235,
   1201  239, 229, 237,
   1202  240, 241, 242,
   1203  242, 241, 243,
   1204  242, 243, 244,
   1205  244, 243, 245,
   1206  244, 245, 246,
   1207  246, 245, 247,
   1208  246, 247, 248,
   1209  248, 247, 249,
   1210  248, 249, 240,
   1211  240, 249, 241,
   1212  250, 240, 242,
   1213  250, 242, 244,
   1214  250, 244, 246,
   1215  250, 246, 248,
   1216  250, 248, 240,
   1217  251, 243, 241,
   1218  251, 245, 243,
   1219  251, 247, 245,
   1220  251, 249, 247,
   1221  251, 241, 249,
   1222  252, 253, 254,
   1223  254, 253, 255,
   1224  254, 255, 256,
   1225  256, 255, 257,
   1226  256, 257, 258,
   1227  258, 257, 259,
   1228  258, 259, 260,
   1229  260, 259, 261,
   1230  260, 261, 252,
   1231  252, 261, 253,
   1232  262, 252, 254,
   1233  262, 254, 256,
   1234  262, 256, 258,
   1235  262, 258, 260,
   1236  262, 260, 252,
   1237  263, 255, 253,
   1238  263, 257, 255,
   1239  263, 259, 257,
   1240  263, 261, 259,
   1241  263, 253, 261,
   1242  264, 265, 266,
   1243  266, 265, 267,
   1244  266, 267, 268,
   1245  268, 267, 269,
   1246  268, 269, 270,
   1247  270, 269, 271,
   1248  270, 271, 272,
   1249  272, 271, 273,
   1250  272, 273, 264,
   1251  264, 273, 265,
   1252  274, 264, 266,
   1253  274, 266, 268,
   1254  274, 268, 270,
   1255  274, 270, 272,
   1256  274, 272, 264,
   1257  275, 267, 265,
   1258  275, 269, 267,
   1259  275, 271, 269,
   1260  275, 273, 271,
   1261  275, 265, 273,
   1262  276, 277, 278,
   1263  278, 277, 279,
   1264  278, 279, 280,
   1265  280, 279, 281,
   1266  280, 281, 282,
   1267  282, 281, 283,
   1268  282, 283, 284,
   1269  284, 283, 285,
   1270  284, 285, 276,
   1271  276, 285, 277,
   1272  286, 276, 278,
   1273  286, 278, 280,
   1274  286, 280, 282,
   1275  286, 282, 284,
   1276  286, 284, 276,
   1277  287, 279, 277,
   1278  287, 281, 279,
   1279  287, 283, 281,
   1280  287, 285, 283,
   1281  287, 277, 285,
   1282  288, 289, 290,
   1283  290, 289, 291,
   1284  290, 291, 292,
   1285  292, 291, 293,
   1286  292, 293, 294,
   1287  294, 293, 295,
   1288  294, 295, 296,
   1289  296, 295, 297,
   1290  296, 297, 288,
   1291  288, 297, 289,
   1292  298, 288, 290,
   1293  298, 290, 292,
   1294  298, 292, 294,
   1295  298, 294, 296,
   1296  298, 296, 288,
   1297  299, 291, 289,
   1298  299, 293, 291,
   1299  299, 295, 293,
   1300  299, 297, 295,
   1301  299, 289, 297,
   1302  300, 301, 302,
   1303  302, 301, 303,
   1304  302, 303, 304,
   1305  304, 303, 305,
   1306  304, 305, 306,
   1307  306, 305, 307,
   1308  306, 307, 308,
   1309  308, 307, 309,
   1310  308, 309, 300,
   1311  300, 309, 301,
   1312  310, 300, 302,
   1313  310, 302, 304,
   1314  310, 304, 306,
   1315  310, 306, 308,
   1316  310, 308, 300,
   1317  311, 303, 301,
   1318  311, 305, 303,
   1319  311, 307, 305,
   1320  311, 309, 307,
   1321  311, 301, 309,
   1322  312, 313, 314,
   1323  314, 313, 315,
   1324  314, 315, 316,
   1325  316, 315, 317,
   1326  316, 317, 318,
   1327  318, 317, 319,
   1328  318, 319, 320,
   1329  320, 319, 321,
   1330  320, 321, 312,
   1331  312, 321, 313,
   1332  322, 312, 314,
   1333  322, 314, 316,
   1334  322, 316, 318,
   1335  322, 318, 320,
   1336  322, 320, 312,
   1337  323, 315, 313,
   1338  323, 317, 315,
   1339  323, 319, 317,
   1340  323, 321, 319,
   1341  323, 313, 321,
   1342  324, 325, 326,
   1343  326, 325, 327,
   1344  326, 327, 328,
   1345  328, 327, 329,
   1346  328, 329, 330,
   1347  330, 329, 331,
   1348  330, 331, 332,
   1349  332, 331, 333,
   1350  332, 333, 324,
   1351  324, 333, 325,
   1352  334, 324, 326,
   1353  334, 326, 328,
   1354  334, 328, 330,
   1355  334, 330, 332,
   1356  334, 332, 324,
   1357  335, 327, 325,
   1358  335, 329, 327,
   1359  335, 331, 329,
   1360  335, 333, 331,
   1361  335, 325, 333,
   1362  336, 337, 338,
   1363  338, 337, 339,
   1364  338, 339, 340,
   1365  340, 339, 341,
   1366  340, 341, 342,
   1367  342, 341, 343,
   1368  342, 343, 344,
   1369  344, 343, 345,
   1370  344, 345, 336,
   1371  336, 345, 337,
   1372  346, 336, 338,
   1373  346, 338, 340,
   1374  346, 340, 342,
   1375  346, 342, 344,
   1376  346, 344, 336,
   1377  347, 339, 337,
   1378  347, 341, 339,
   1379  347, 343, 341,
   1380  347, 345, 343,
   1381  347, 337, 345,
   1382  348, 349, 350,
   1383  350, 349, 351,
   1384  350, 351, 352,
   1385  352, 351, 353,
   1386  352, 353, 354,
   1387  354, 353, 355,
   1388  354, 355, 356,
   1389  356, 355, 357,
   1390  356, 357, 348,
   1391  348, 357, 349,
   1392  358, 348, 350,
   1393  358, 350, 352,
   1394  358, 352, 354,
   1395  358, 354, 356,
   1396  358, 356, 348,
   1397  359, 351, 349,
   1398  359, 353, 351,
   1399  359, 355, 353,
   1400  359, 357, 355,
   1401  359, 349, 357,
   1402  360, 361, 362,
   1403  362, 361, 363,
   1404  362, 363, 364,
   1405  364, 363, 365,
   1406  364, 365, 366,
   1407  366, 365, 367,
   1408  366, 367, 368,
   1409  368, 367, 369,
   1410  368, 369, 360,
   1411  360, 369, 361,
   1412  370, 360, 362,
   1413  370, 362, 364,
   1414  370, 364, 366,
   1415  370, 366, 368,
   1416  370, 368, 360,
   1417  371, 363, 361,
   1418  371, 365, 363,
   1419  371, 367, 365,
   1420  371, 369, 367,
   1421  371, 361, 369,
   1422  372, 373, 374,
   1423  374, 373, 375,
   1424  374, 375, 376,
   1425  376, 375, 377,
   1426  376, 377, 378,
   1427  378, 377, 379,
   1428  378, 379, 380,
   1429  380, 379, 381,
   1430  380, 381, 372,
   1431  372, 381, 373,
   1432  382, 372, 374,
   1433  382, 374, 376,
   1434  382, 376, 378,
   1435  382, 378, 380,
   1436  382, 380, 372,
   1437  383, 375, 373,
   1438  383, 377, 375,
   1439  383, 379, 377,
   1440  383, 381, 379,
   1441  383, 373, 381,
   1442  384, 385, 386,
   1443  386, 385, 387,
   1444  386, 387, 388,
   1445  388, 387, 389,
   1446  388, 389, 390,
   1447  390, 389, 391,
   1448  390, 391, 392,
   1449  392, 391, 393,
   1450  392, 393, 384,
   1451  384, 393, 385,
   1452  394, 384, 386,
   1453  394, 386, 388,
   1454  394, 388, 390,
   1455  394, 390, 392,
   1456  394, 392, 384,
   1457  395, 387, 385,
   1458  395, 389, 387,
   1459  395, 391, 389,
   1460  395, 393, 391,
   1461  395, 385, 393,
   1462  396, 397, 398,
   1463  398, 397, 399,
   1464  398, 399, 400,
   1465  400, 399, 401,
   1466  400, 401, 402,
   1467  402, 401, 403,
   1468  402, 403, 404,
   1469  404, 403, 405,
   1470  404, 405, 396,
   1471  396, 405, 397,
   1472  406, 396, 398,
   1473  406, 398, 400,
   1474  406, 400, 402,
   1475  406, 402, 404,
   1476  406, 404, 396,
   1477  407, 399, 397,
   1478  407, 401, 399,
   1479  407, 403, 401,
   1480  407, 405, 403,
   1481  407, 397, 405,
   1482  408, 409, 410,
   1483  410, 409, 411,
   1484  410, 411, 412,
   1485  412, 411, 413,
   1486  412, 413, 414,
   1487  414, 413, 415,
   1488  414, 415, 416,
   1489  416, 415, 417,
   1490  416, 417, 408,
   1491  408, 417, 409,
   1492  418, 408, 410,
   1493  418, 410, 412,
   1494  418, 412, 414,
   1495  418, 414, 416,
   1496  418, 416, 408,
   1497  419, 411, 409,
   1498  419, 413, 411,
   1499  419, 415, 413,
   1500  419, 417, 415,
   1501  419, 409, 417,
   1502  420, 421, 422,
   1503  422, 421, 423,
   1504  422, 423, 424,
   1505  424, 423, 425,
   1506  424, 425, 426,
   1507  426, 425, 427,
   1508  426, 427, 428,
   1509  428, 427, 429,
   1510  428, 429, 420,
   1511  420, 429, 421,
   1512  430, 420, 422,
   1513  430, 422, 424,
   1514  430, 424, 426,
   1515  430, 426, 428,
   1516  430, 428, 420,
   1517  431, 423, 421,
   1518  431, 425, 423,
   1519  431, 427, 425,
   1520  431, 429, 427,
   1521  431, 421, 429,
   1522  432, 433, 434,
   1523  434, 433, 435,
   1524  434, 435, 436,
   1525  436, 435, 437,
   1526  436, 437, 438,
   1527  438, 437, 439,
   1528  438, 439, 440,
   1529  440, 439, 441,
   1530  440, 441, 432,
   1531  432, 441, 433,
   1532  442, 432, 434,
   1533  442, 434, 436,
   1534  442, 436, 438,
   1535  442, 438, 440,
   1536  442, 440, 432,
   1537  443, 435, 433,
   1538  443, 437, 435,
   1539  443, 439, 437,
   1540  443, 441, 439,
   1541  443, 433, 441,
   1542  444, 445, 446,
   1543  446, 445, 447,
   1544  446, 447, 448,
   1545  448, 447, 449,
   1546  448, 449, 450,
   1547  450, 449, 451,
   1548  450, 451, 452,
   1549  452, 451, 453,
   1550  452, 453, 444,
   1551  444, 453, 445,
   1552  454, 444, 446,
   1553  454, 446, 448,
   1554  454, 448, 450,
   1555  454, 450, 452,
   1556  454, 452, 444,
   1557  455, 447, 445,
   1558  455, 449, 447,
   1559  455, 451, 449,
   1560  455, 453, 451,
   1561  455, 445, 453,
   1562  456, 457, 458,
   1563  458, 457, 459,
   1564  458, 459, 460,
   1565  460, 459, 461,
   1566  460, 461, 462,
   1567  462, 461, 463,
   1568  462, 463, 464,
   1569  464, 463, 465,
   1570  464, 465, 456,
   1571  456, 465, 457,
   1572  466, 456, 458,
   1573  466, 458, 460,
   1574  466, 460, 462,
   1575  466, 462, 464,
   1576  466, 464, 456,
   1577  467, 459, 457,
   1578  467, 461, 459,
   1579  467, 463, 461,
   1580  467, 465, 463,
   1581  467, 457, 465,
   1582  468, 469, 470,
   1583  470, 469, 471,
   1584  470, 471, 472,
   1585  472, 471, 473,
   1586  472, 473, 474,
   1587  474, 473, 475,
   1588  474, 475, 476,
   1589  476, 475, 477,
   1590  476, 477, 468,
   1591  468, 477, 469,
   1592  478, 468, 470,
   1593  478, 470, 472,
   1594  478, 472, 474,
   1595  478, 474, 476,
   1596  478, 476, 468,
   1597  479, 471, 469,
   1598  479, 473, 471,
   1599  479, 475, 473,
   1600  479, 477, 475,
   1601  479, 469, 477,
   1602  480, 481, 482,
   1603  482, 481, 483,
   1604  482, 483, 484,
   1605  484, 483, 485,
   1606  484, 485, 486,
   1607  486, 485, 487,
   1608  486, 487, 488,
   1609  488, 487, 489,
   1610  488, 489, 480,
   1611  480, 489, 481,
   1612  490, 480, 482,
   1613  490, 482, 484,
   1614  490, 484, 486,
   1615  490, 486, 488,
   1616  490, 488, 480,
   1617  491, 483, 481,
   1618  491, 485, 483,
   1619  491, 487, 485,
   1620  491, 489, 487,
   1621  491, 481, 489,
   1622  492, 493, 494,
   1623  494, 493, 495,
   1624  494, 495, 496,
   1625  496, 495, 497,
   1626  496, 497, 498,
   1627  498, 497, 499,
   1628  498, 499, 500,
   1629  500, 499, 501,
   1630  500, 501, 492,
   1631  492, 501, 493,
   1632  502, 492, 494,
   1633  502, 494, 496,
   1634  502, 496, 498,
   1635  502, 498, 500,
   1636  502, 500, 492,
   1637  503, 495, 493,
   1638  503, 497, 495,
   1639  503, 499, 497,
   1640  503, 501, 499,
   1641  503, 493, 501,
   1642  504, 505, 506,
   1643  506, 505, 507,
   1644  506, 507, 508,
   1645  508, 507, 509,
   1646  508, 509, 510,
   1647  510, 509, 511,
   1648  510, 511, 512,
   1649  512, 511, 513,
   1650  512, 513, 504,
   1651  504, 513, 505,
   1652  514, 504, 506,
   1653  514, 506, 508,
   1654  514, 508, 510,
   1655  514, 510, 512,
   1656  514, 512, 504,
   1657  515, 507, 505,
   1658  515, 509, 507,
   1659  515, 511, 509,
   1660  515, 513, 511,
   1661  515, 505, 513,
   1662  516, 517, 518,
   1663  518, 517, 519,
   1664  518, 519, 520,
   1665  520, 519, 521,
   1666  520, 521, 522,
   1667  522, 521, 523,
   1668  522, 523, 524,
   1669  524, 523, 525,
   1670  524, 525, 516,
   1671  516, 525, 517,
   1672  526, 516, 518,
   1673  526, 518, 520,
   1674  526, 520, 522,
   1675  526, 522, 524,
   1676  526, 524, 516,
   1677  527, 519, 517,
   1678  527, 521, 519,
   1679  527, 523, 521,
   1680  527, 525, 523,
   1681  527, 517, 525,
   1682  528, 529, 530,
   1683  530, 529, 531,
   1684  530, 531, 532,
   1685  532, 531, 533,
   1686  532, 533, 534,
   1687  534, 533, 535,
   1688  534, 535, 536,
   1689  536, 535, 537,
   1690  536, 537, 528,
   1691  528, 537, 529,
   1692  538, 528, 530,
   1693  538, 530, 532,
   1694  538, 532, 534,
   1695  538, 534, 536,
   1696  538, 536, 528,
   1697  539, 531, 529,
   1698  539, 533, 531,
   1699  539, 535, 533,
   1700  539, 537, 535,
   1701  539, 529, 537,
   1702  540, 541, 542,
   1703  542, 541, 543,
   1704  542, 543, 544,
   1705  544, 543, 545,
   1706  544, 545, 546,
   1707  546, 545, 547,
   1708  546, 547, 548,
   1709  548, 547, 549,
   1710  548, 549, 540,
   1711  540, 549, 541,
   1712  550, 540, 542,
   1713  550, 542, 544,
   1714  550, 544, 546,
   1715  550, 546, 548,
   1716  550, 548, 540,
   1717  551, 543, 541,
   1718  551, 545, 543,
   1719  551, 547, 545,
   1720  551, 549, 547,
   1721  551, 541, 549,
   1722  552, 553, 554,
   1723  554, 553, 555,
   1724  554, 555, 556,
   1725  556, 555, 557,
   1726  556, 557, 558,
   1727  558, 557, 559,
   1728  558, 559, 560,
   1729  560, 559, 561,
   1730  560, 561, 552,
   1731  552, 561, 553,
   1732  562, 552, 554,
   1733  562, 554, 556,
   1734  562, 556, 558,
   1735  562, 558, 560,
   1736  562, 560, 552,
   1737  563, 555, 553,
   1738  563, 557, 555,
   1739  563, 559, 557,
   1740  563, 561, 559,
   1741  563, 553, 561,
   1742  564, 565, 566,
   1743  566, 565, 567,
   1744  566, 567, 568,
   1745  568, 567, 569,
   1746  568, 569, 570,
   1747  570, 569, 571,
   1748  570, 571, 572,
   1749  572, 571, 573,
   1750  572, 573, 564,
   1751  564, 573, 565,
   1752  574, 564, 566,
   1753  574, 566, 568,
   1754  574, 568, 570,
   1755  574, 570, 572,
   1756  574, 572, 564,
   1757  575, 567, 565,
   1758  575, 569, 567,
   1759  575, 571, 569,
   1760  575, 573, 571,
   1761  575, 565, 573,
   1762  576, 577, 578,
   1763  578, 577, 579,
   1764  578, 579, 580,
   1765  580, 579, 581,
   1766  580, 581, 582,
   1767  582, 581, 583,
   1768  582, 583, 584,
   1769  584, 583, 585,
   1770  584, 585, 576,
   1771  576, 585, 577,
   1772  586, 576, 578,
   1773  586, 578, 580,
   1774  586, 580, 582,
   1775  586, 582, 584,
   1776  586, 584, 576,
   1777  587, 579, 577,
   1778  587, 581, 579,
   1779  587, 583, 581,
   1780  587, 585, 583,
   1781  587, 577, 585,
   1782  588, 589, 590,
   1783  590, 589, 591,
   1784  590, 591, 592,
   1785  592, 591, 593,
   1786  592, 593, 594,
   1787  594, 593, 595,
   1788  594, 595, 596,
   1789  596, 595, 597,
   1790  596, 597, 588,
   1791  588, 597, 589,
   1792  598, 588, 590,
   1793  598, 590, 592,
   1794  598, 592, 594,
   1795  598, 594, 596,
   1796  598, 596, 588,
   1797  599, 591, 589,
   1798  599, 593, 591,
   1799  599, 595, 593,
   1800  599, 597, 595,
   1801  599, 589, 597,
   1802  600, 601, 602,
   1803  602, 601, 603,
   1804  602, 603, 604,
   1805  604, 603, 605,
   1806  604, 605, 606,
   1807  606, 605, 607,
   1808  606, 607, 608,
   1809  608, 607, 609,
   1810  608, 609, 600,
   1811  600, 609, 601,
   1812  610, 600, 602,
   1813  610, 602, 604,
   1814  610, 604, 606,
   1815  610, 606, 608,
   1816  610, 608, 600,
   1817  611, 603, 601,
   1818  611, 605, 603,
   1819  611, 607, 605,
   1820  611, 609, 607,
   1821  611, 601, 609,
   1822  612, 613, 614,
   1823  614, 613, 615,
   1824  614, 615, 616,
   1825  616, 615, 617,
   1826  616, 617, 618,
   1827  618, 617, 619,
   1828  618, 619, 620,
   1829  620, 619, 621,
   1830  620, 621, 612,
   1831  612, 621, 613,
   1832  622, 612, 614,
   1833  622, 614, 616,
   1834  622, 616, 618,
   1835  622, 618, 620,
   1836  622, 620, 612,
   1837  623, 615, 613,
   1838  623, 617, 615,
   1839  623, 619, 617,
   1840  623, 621, 619,
   1841  623, 613, 621,
   1842  624, 625, 626,
   1843  626, 625, 627,
   1844  626, 627, 628,
   1845  628, 627, 629,
   1846  628, 629, 630,
   1847  630, 629, 631,
   1848  630, 631, 632,
   1849  632, 631, 633,
   1850  632, 633, 624,
   1851  624, 633, 625,
   1852  634, 624, 626,
   1853  634, 626, 628,
   1854  634, 628, 630,
   1855  634, 630, 632,
   1856  634, 632, 624,
   1857  635, 627, 625,
   1858  635, 629, 627,
   1859  635, 631, 629,
   1860  635, 633, 631,
   1861  635, 625, 633,
   1862  636, 637, 638,
   1863  638, 637, 639,
   1864  638, 639, 640,
   1865  640, 639, 641,
   1866  640, 641, 642,
   1867  642, 641, 643,
   1868  642, 643, 644,
   1869  644, 643, 645,
   1870  644, 645, 636,
   1871  636, 645, 637,
   1872  646, 636, 638,
   1873  646, 638, 640,
   1874  646, 640, 642,
   1875  646, 642, 644,
   1876  646, 644, 636,
   1877  647, 639, 637,
   1878  647, 641, 639,
   1879  647, 643, 641,
   1880  647, 645, 643,
   1881  647, 637, 645,
   1882  648, 649, 650,
   1883  650, 649, 651,
   1884  650, 651, 652,
   1885  652, 651, 653,
   1886  652, 653, 654,
   1887  654, 653, 655,
   1888  654, 655, 656,
   1889  656, 655, 657,
   1890  656, 657, 648,
   1891  648, 657, 649,
   1892  658, 648, 650,
   1893  658, 650, 652,
   1894  658, 652, 654,
   1895  658, 654, 656,
   1896  658, 656, 648,
   1897  659, 651, 649,
   1898  659, 653, 651,
   1899  659, 655, 653,
   1900  659, 657, 655,
   1901  659, 649, 657,
   1902  660, 661, 662,
   1903  662, 661, 663,
   1904  662, 663, 664,
   1905  664, 663, 665,
   1906  664, 665, 666,
   1907  666, 665, 667,
   1908  666, 667, 668,
   1909  668, 667, 669,
   1910  668, 669, 660,
   1911  660, 669, 661,
   1912  670, 660, 662,
   1913  670, 662, 664,
   1914  670, 664, 666,
   1915  670, 666, 668,
   1916  670, 668, 660,
   1917  671, 663, 661,
   1918  671, 665, 663,
   1919  671, 667, 665,
   1920  671, 669, 667,
   1921  671, 661, 669,
   1922  672, 673, 674,
   1923  674, 673, 675,
   1924  674, 675, 676,
   1925  676, 675, 677,
   1926  676, 677, 678,
   1927  678, 677, 679,
   1928  678, 679, 680,
   1929  680, 679, 681,
   1930  680, 681, 672,
   1931  672, 681, 673,
   1932  682, 672, 674,
   1933  682, 674, 676,
   1934  682, 676, 678,
   1935  682, 678, 680,
   1936  682, 680, 672,
   1937  683, 675, 673,
   1938  683, 677, 675,
   1939  683, 679, 677,
   1940  683, 681, 679,
   1941  683, 673, 681,
   1942  684, 685, 686,
   1943  686, 685, 687,
   1944  686, 687, 688,
   1945  688, 687, 689,
   1946  688, 689, 690,
   1947  690, 689, 691,
   1948  690, 691, 692,
   1949  692, 691, 693,
   1950  692, 693, 684,
   1951  684, 693, 685,
   1952  694, 684, 686,
   1953  694, 686, 688,
   1954  694, 688, 690,
   1955  694, 690, 692,
   1956  694, 692, 684,
   1957  695, 687, 685,
   1958  695, 689, 687,
   1959  695, 691, 689,
   1960  695, 693, 691,
   1961  695, 685, 693,
   1962  696, 697, 698,
   1963  698, 697, 699,
   1964  698, 699, 700,
   1965  700, 699, 701,
   1966  700, 701, 702,
   1967  702, 701, 703,
   1968  702, 703, 704,
   1969  704, 703, 705,
   1970  704, 705, 696,
   1971  696, 705, 697,
   1972  706, 696, 698,
   1973  706, 698, 700,
   1974  706, 700, 702,
   1975  706, 702, 704,
   1976  706, 704, 696,
   1977  707, 699, 697,
   1978  707, 701, 699,
   1979  707, 703, 701,
   1980  707, 705, 703,
   1981  707, 697, 705,
   1982  708, 709, 710,
   1983  710, 709, 711,
   1984  710, 711, 712,
   1985  712, 711, 713,
   1986  712, 713, 714,
   1987  714, 713, 715,
   1988  714, 715, 716,
   1989  716, 715, 717,
   1990  716, 717, 708,
   1991  708, 717, 709,
   1992  718, 708, 710,
   1993  718, 710, 712,
   1994  718, 712, 714,
   1995  718, 714, 716,
   1996  718, 716, 708,
   1997  719, 711, 709,
   1998  719, 713, 711,
   1999  719, 715, 713,
   2000  719, 717, 715,
   2001  719, 709, 717,
   2002  720, 721, 722,
   2003  722, 721, 723,
   2004  722, 723, 724,
   2005  724, 723, 725,
   2006  724, 725, 726,
   2007  726, 725, 727,
   2008  726, 727, 728,
   2009  728, 727, 729,
   2010  728, 729, 720,
   2011  720, 729, 721,
   2012  730, 720, 722,
   2013  730, 722, 724,
   2014  730, 724, 726,
   2015  730, 726, 728,
   2016  730, 728, 720,
   2017  731, 723, 721,
   2018  731, 725, 723,
   2019  731, 727, 725,
   2020  731, 729, 727,
   2021  731, 721, 729,
   2022  732, 733, 734,
   2023  734, 733, 735,
   2024  734, 735, 736,
   2025  736, 735, 737,
   2026  736, 737, 738,
   2027  738, 737, 739,
   2028  738, 739, 740,
   2029  740, 739, 741,
   2030  740, 741, 732,
   2031  732, 741, 733,
   2032  742, 732, 734,
   2033  742, 734, 736,
   2034  742, 736, 738,
   2035  742, 738, 740,
   2036  742, 740, 732,
   2037  743, 735, 733,
   2038  743, 737, 735,
   2039  743, 739, 737,
   2040  743, 741, 739,
   2041  743, 733, 741,
   2042  744, 745, 746,
   2043  746, 745, 747,
   2044  746, 747, 748,
   2045  748, 747, 749,
   2046  748, 749, 750,
   2047  750, 749, 751,
   2048  750, 751, 752,
   2049  752, 751, 753,
   2050  752, 753, 744,
   2051  744, 753, 745,
   2052  754, 744, 746,
   2053  754, 746, 748,
   2054  754, 748, 750,
   2055  754, 750, 752,
   2056  754, 752, 744,
   2057  755, 747, 745,
   2058  755, 749, 747,
   2059  755, 751, 749,
   2060  755, 753, 751,
   2061  755, 745, 753,
   2062  756, 757, 758,
   2063  758, 757, 759,
   2064  758, 759, 760,
   2065  760, 759, 761,
   2066  760, 761, 762,
   2067  762, 761, 763,
   2068  762, 763, 764,
   2069  764, 763, 765,
   2070  764, 765, 756,
   2071  756, 765, 757,
   2072  766, 756, 758,
   2073  766, 758, 760,
   2074  766, 760, 762,
   2075  766, 762, 764,
   2076  766, 764, 756,
   2077  767, 759, 757,
   2078  767, 761, 759,
   2079  767, 763, 761,
   2080  767, 765, 763,
   2081  767, 757, 765
   2082 };
   2083 static const unsigned some_enclosures_properties[3840] =
   2084 {
   2085  0, 1, 0,
   2086  0, 1, 0,
   2087  0, 1, 0,
   2088  0, 1, 0,
   2089  0, 1, 0,
   2090  0, 1, 0,
   2091  0, 1, 0,
   2092  0, 1, 0,
   2093  0, 1, 0,
   2094  0, 1, 0,
   2095  0, 1, 0,
   2096  0, 1, 0,
   2097  0, 1, 0,
   2098  0, 1, 0,
   2099  0, 1, 0,
   2100  0, 1, 0,
   2101  0, 1, 0,
   2102  0, 1, 0,
   2103  0, 1, 0,
   2104  0, 1, 0,
   2105  1, 2, 0,
   2106  1, 2, 0,
   2107  1, 2, 0,
   2108  1, 2, 0,
   2109  1, 2, 0,
   2110  1, 2, 0,
   2111  1, 2, 0,
   2112  1, 2, 0,
   2113  1, 2, 0,
   2114  1, 2, 0,
   2115  1, 2, 0,
   2116  1, 2, 0,
   2117  1, 2, 0,
   2118  1, 2, 0,
   2119  1, 2, 0,
   2120  1, 2, 0,
   2121  1, 2, 0,
   2122  1, 2, 0,
   2123  1, 2, 0,
   2124  1, 2, 0,
   2125  2, 3, 0,
   2126  2, 3, 0,
   2127  2, 3, 0,
   2128  2, 3, 0,
   2129  2, 3, 0,
   2130  2, 3, 0,
   2131  2, 3, 0,
   2132  2, 3, 0,
   2133  2, 3, 0,
   2134  2, 3, 0,
   2135  2, 3, 0,
   2136  2, 3, 0,
   2137  2, 3, 0,
   2138  2, 3, 0,
   2139  2, 3, 0,
   2140  2, 3, 0,
   2141  2, 3, 0,
   2142  2, 3, 0,
   2143  2, 3, 0,
   2144  2, 3, 0,
   2145  3, 4, 0,
   2146  3, 4, 0,
   2147  3, 4, 0,
   2148  3, 4, 0,
   2149  3, 4, 0,
   2150  3, 4, 0,
   2151  3, 4, 0,
   2152  3, 4, 0,
   2153  3, 4, 0,
   2154  3, 4, 0,
   2155  3, 4, 0,
   2156  3, 4, 0,
   2157  3, 4, 0,
   2158  3, 4, 0,
   2159  3, 4, 0,
   2160  3, 4, 0,
   2161  3, 4, 0,
   2162  3, 4, 0,
   2163  3, 4, 0,
   2164  3, 4, 0,
   2165  0, 1, 0,
   2166  0, 1, 0,
   2167  0, 1, 0,
   2168  0, 1, 0,
   2169  0, 1, 0,
   2170  0, 1, 0,
   2171  0, 1, 0,
   2172  0, 1, 0,
   2173  0, 1, 0,
   2174  0, 1, 0,
   2175  0, 1, 0,
   2176  0, 1, 0,
   2177  0, 1, 0,
   2178  0, 1, 0,
   2179  0, 1, 0,
   2180  0, 1, 0,
   2181  0, 1, 0,
   2182  0, 1, 0,
   2183  0, 1, 0,
   2184  0, 1, 0,
   2185  1, 2, 0,
   2186  1, 2, 0,
   2187  1, 2, 0,
   2188  1, 2, 0,
   2189  1, 2, 0,
   2190  1, 2, 0,
   2191  1, 2, 0,
   2192  1, 2, 0,
   2193  1, 2, 0,
   2194  1, 2, 0,
   2195  1, 2, 0,
   2196  1, 2, 0,
   2197  1, 2, 0,
   2198  1, 2, 0,
   2199  1, 2, 0,
   2200  1, 2, 0,
   2201  1, 2, 0,
   2202  1, 2, 0,
   2203  1, 2, 0,
   2204  1, 2, 0,
   2205  2, 3, 0,
   2206  2, 3, 0,
   2207  2, 3, 0,
   2208  2, 3, 0,
   2209  2, 3, 0,
   2210  2, 3, 0,
   2211  2, 3, 0,
   2212  2, 3, 0,
   2213  2, 3, 0,
   2214  2, 3, 0,
   2215  2, 3, 0,
   2216  2, 3, 0,
   2217  2, 3, 0,
   2218  2, 3, 0,
   2219  2, 3, 0,
   2220  2, 3, 0,
   2221  2, 3, 0,
   2222  2, 3, 0,
   2223  2, 3, 0,
   2224  2, 3, 0,
   2225  3, 4, 0,
   2226  3, 4, 0,
   2227  3, 4, 0,
   2228  3, 4, 0,
   2229  3, 4, 0,
   2230  3, 4, 0,
   2231  3, 4, 0,
   2232  3, 4, 0,
   2233  3, 4, 0,
   2234  3, 4, 0,
   2235  3, 4, 0,
   2236  3, 4, 0,
   2237  3, 4, 0,
   2238  3, 4, 0,
   2239  3, 4, 0,
   2240  3, 4, 0,
   2241  3, 4, 0,
   2242  3, 4, 0,
   2243  3, 4, 0,
   2244  3, 4, 0,
   2245  0, 1, 0,
   2246  0, 1, 0,
   2247  0, 1, 0,
   2248  0, 1, 0,
   2249  0, 1, 0,
   2250  0, 1, 0,
   2251  0, 1, 0,
   2252  0, 1, 0,
   2253  0, 1, 0,
   2254  0, 1, 0,
   2255  0, 1, 0,
   2256  0, 1, 0,
   2257  0, 1, 0,
   2258  0, 1, 0,
   2259  0, 1, 0,
   2260  0, 1, 0,
   2261  0, 1, 0,
   2262  0, 1, 0,
   2263  0, 1, 0,
   2264  0, 1, 0,
   2265  1, 2, 0,
   2266  1, 2, 0,
   2267  1, 2, 0,
   2268  1, 2, 0,
   2269  1, 2, 0,
   2270  1, 2, 0,
   2271  1, 2, 0,
   2272  1, 2, 0,
   2273  1, 2, 0,
   2274  1, 2, 0,
   2275  1, 2, 0,
   2276  1, 2, 0,
   2277  1, 2, 0,
   2278  1, 2, 0,
   2279  1, 2, 0,
   2280  1, 2, 0,
   2281  1, 2, 0,
   2282  1, 2, 0,
   2283  1, 2, 0,
   2284  1, 2, 0,
   2285  2, 3, 0,
   2286  2, 3, 0,
   2287  2, 3, 0,
   2288  2, 3, 0,
   2289  2, 3, 0,
   2290  2, 3, 0,
   2291  2, 3, 0,
   2292  2, 3, 0,
   2293  2, 3, 0,
   2294  2, 3, 0,
   2295  2, 3, 0,
   2296  2, 3, 0,
   2297  2, 3, 0,
   2298  2, 3, 0,
   2299  2, 3, 0,
   2300  2, 3, 0,
   2301  2, 3, 0,
   2302  2, 3, 0,
   2303  2, 3, 0,
   2304  2, 3, 0,
   2305  3, 4, 0,
   2306  3, 4, 0,
   2307  3, 4, 0,
   2308  3, 4, 0,
   2309  3, 4, 0,
   2310  3, 4, 0,
   2311  3, 4, 0,
   2312  3, 4, 0,
   2313  3, 4, 0,
   2314  3, 4, 0,
   2315  3, 4, 0,
   2316  3, 4, 0,
   2317  3, 4, 0,
   2318  3, 4, 0,
   2319  3, 4, 0,
   2320  3, 4, 0,
   2321  3, 4, 0,
   2322  3, 4, 0,
   2323  3, 4, 0,
   2324  3, 4, 0,
   2325  0, 1, 0,
   2326  0, 1, 0,
   2327  0, 1, 0,
   2328  0, 1, 0,
   2329  0, 1, 0,
   2330  0, 1, 0,
   2331  0, 1, 0,
   2332  0, 1, 0,
   2333  0, 1, 0,
   2334  0, 1, 0,
   2335  0, 1, 0,
   2336  0, 1, 0,
   2337  0, 1, 0,
   2338  0, 1, 0,
   2339  0, 1, 0,
   2340  0, 1, 0,
   2341  0, 1, 0,
   2342  0, 1, 0,
   2343  0, 1, 0,
   2344  0, 1, 0,
   2345  1, 2, 0,
   2346  1, 2, 0,
   2347  1, 2, 0,
   2348  1, 2, 0,
   2349  1, 2, 0,
   2350  1, 2, 0,
   2351  1, 2, 0,
   2352  1, 2, 0,
   2353  1, 2, 0,
   2354  1, 2, 0,
   2355  1, 2, 0,
   2356  1, 2, 0,
   2357  1, 2, 0,
   2358  1, 2, 0,
   2359  1, 2, 0,
   2360  1, 2, 0,
   2361  1, 2, 0,
   2362  1, 2, 0,
   2363  1, 2, 0,
   2364  1, 2, 0,
   2365  2, 3, 0,
   2366  2, 3, 0,
   2367  2, 3, 0,
   2368  2, 3, 0,
   2369  2, 3, 0,
   2370  2, 3, 0,
   2371  2, 3, 0,
   2372  2, 3, 0,
   2373  2, 3, 0,
   2374  2, 3, 0,
   2375  2, 3, 0,
   2376  2, 3, 0,
   2377  2, 3, 0,
   2378  2, 3, 0,
   2379  2, 3, 0,
   2380  2, 3, 0,
   2381  2, 3, 0,
   2382  2, 3, 0,
   2383  2, 3, 0,
   2384  2, 3, 0,
   2385  3, 4, 0,
   2386  3, 4, 0,
   2387  3, 4, 0,
   2388  3, 4, 0,
   2389  3, 4, 0,
   2390  3, 4, 0,
   2391  3, 4, 0,
   2392  3, 4, 0,
   2393  3, 4, 0,
   2394  3, 4, 0,
   2395  3, 4, 0,
   2396  3, 4, 0,
   2397  3, 4, 0,
   2398  3, 4, 0,
   2399  3, 4, 0,
   2400  3, 4, 0,
   2401  3, 4, 0,
   2402  3, 4, 0,
   2403  3, 4, 0,
   2404  3, 4, 0,
   2405  0, 1, 0,
   2406  0, 1, 0,
   2407  0, 1, 0,
   2408  0, 1, 0,
   2409  0, 1, 0,
   2410  0, 1, 0,
   2411  0, 1, 0,
   2412  0, 1, 0,
   2413  0, 1, 0,
   2414  0, 1, 0,
   2415  0, 1, 0,
   2416  0, 1, 0,
   2417  0, 1, 0,
   2418  0, 1, 0,
   2419  0, 1, 0,
   2420  0, 1, 0,
   2421  0, 1, 0,
   2422  0, 1, 0,
   2423  0, 1, 0,
   2424  0, 1, 0,
   2425  1, 2, 0,
   2426  1, 2, 0,
   2427  1, 2, 0,
   2428  1, 2, 0,
   2429  1, 2, 0,
   2430  1, 2, 0,
   2431  1, 2, 0,
   2432  1, 2, 0,
   2433  1, 2, 0,
   2434  1, 2, 0,
   2435  1, 2, 0,
   2436  1, 2, 0,
   2437  1, 2, 0,
   2438  1, 2, 0,
   2439  1, 2, 0,
   2440  1, 2, 0,
   2441  1, 2, 0,
   2442  1, 2, 0,
   2443  1, 2, 0,
   2444  1, 2, 0,
   2445  2, 3, 0,
   2446  2, 3, 0,
   2447  2, 3, 0,
   2448  2, 3, 0,
   2449  2, 3, 0,
   2450  2, 3, 0,
   2451  2, 3, 0,
   2452  2, 3, 0,
   2453  2, 3, 0,
   2454  2, 3, 0,
   2455  2, 3, 0,
   2456  2, 3, 0,
   2457  2, 3, 0,
   2458  2, 3, 0,
   2459  2, 3, 0,
   2460  2, 3, 0,
   2461  2, 3, 0,
   2462  2, 3, 0,
   2463  2, 3, 0,
   2464  2, 3, 0,
   2465  3, 4, 0,
   2466  3, 4, 0,
   2467  3, 4, 0,
   2468  3, 4, 0,
   2469  3, 4, 0,
   2470  3, 4, 0,
   2471  3, 4, 0,
   2472  3, 4, 0,
   2473  3, 4, 0,
   2474  3, 4, 0,
   2475  3, 4, 0,
   2476  3, 4, 0,
   2477  3, 4, 0,
   2478  3, 4, 0,
   2479  3, 4, 0,
   2480  3, 4, 0,
   2481  3, 4, 0,
   2482  3, 4, 0,
   2483  3, 4, 0,
   2484  3, 4, 0,
   2485  0, 1, 0,
   2486  0, 1, 0,
   2487  0, 1, 0,
   2488  0, 1, 0,
   2489  0, 1, 0,
   2490  0, 1, 0,
   2491  0, 1, 0,
   2492  0, 1, 0,
   2493  0, 1, 0,
   2494  0, 1, 0,
   2495  0, 1, 0,
   2496  0, 1, 0,
   2497  0, 1, 0,
   2498  0, 1, 0,
   2499  0, 1, 0,
   2500  0, 1, 0,
   2501  0, 1, 0,
   2502  0, 1, 0,
   2503  0, 1, 0,
   2504  0, 1, 0,
   2505  1, 2, 0,
   2506  1, 2, 0,
   2507  1, 2, 0,
   2508  1, 2, 0,
   2509  1, 2, 0,
   2510  1, 2, 0,
   2511  1, 2, 0,
   2512  1, 2, 0,
   2513  1, 2, 0,
   2514  1, 2, 0,
   2515  1, 2, 0,
   2516  1, 2, 0,
   2517  1, 2, 0,
   2518  1, 2, 0,
   2519  1, 2, 0,
   2520  1, 2, 0,
   2521  1, 2, 0,
   2522  1, 2, 0,
   2523  1, 2, 0,
   2524  1, 2, 0,
   2525  2, 3, 0,
   2526  2, 3, 0,
   2527  2, 3, 0,
   2528  2, 3, 0,
   2529  2, 3, 0,
   2530  2, 3, 0,
   2531  2, 3, 0,
   2532  2, 3, 0,
   2533  2, 3, 0,
   2534  2, 3, 0,
   2535  2, 3, 0,
   2536  2, 3, 0,
   2537  2, 3, 0,
   2538  2, 3, 0,
   2539  2, 3, 0,
   2540  2, 3, 0,
   2541  2, 3, 0,
   2542  2, 3, 0,
   2543  2, 3, 0,
   2544  2, 3, 0,
   2545  3, 4, 0,
   2546  3, 4, 0,
   2547  3, 4, 0,
   2548  3, 4, 0,
   2549  3, 4, 0,
   2550  3, 4, 0,
   2551  3, 4, 0,
   2552  3, 4, 0,
   2553  3, 4, 0,
   2554  3, 4, 0,
   2555  3, 4, 0,
   2556  3, 4, 0,
   2557  3, 4, 0,
   2558  3, 4, 0,
   2559  3, 4, 0,
   2560  3, 4, 0,
   2561  3, 4, 0,
   2562  3, 4, 0,
   2563  3, 4, 0,
   2564  3, 4, 0,
   2565  0, 1, 0,
   2566  0, 1, 0,
   2567  0, 1, 0,
   2568  0, 1, 0,
   2569  0, 1, 0,
   2570  0, 1, 0,
   2571  0, 1, 0,
   2572  0, 1, 0,
   2573  0, 1, 0,
   2574  0, 1, 0,
   2575  0, 1, 0,
   2576  0, 1, 0,
   2577  0, 1, 0,
   2578  0, 1, 0,
   2579  0, 1, 0,
   2580  0, 1, 0,
   2581  0, 1, 0,
   2582  0, 1, 0,
   2583  0, 1, 0,
   2584  0, 1, 0,
   2585  1, 2, 0,
   2586  1, 2, 0,
   2587  1, 2, 0,
   2588  1, 2, 0,
   2589  1, 2, 0,
   2590  1, 2, 0,
   2591  1, 2, 0,
   2592  1, 2, 0,
   2593  1, 2, 0,
   2594  1, 2, 0,
   2595  1, 2, 0,
   2596  1, 2, 0,
   2597  1, 2, 0,
   2598  1, 2, 0,
   2599  1, 2, 0,
   2600  1, 2, 0,
   2601  1, 2, 0,
   2602  1, 2, 0,
   2603  1, 2, 0,
   2604  1, 2, 0,
   2605  2, 3, 0,
   2606  2, 3, 0,
   2607  2, 3, 0,
   2608  2, 3, 0,
   2609  2, 3, 0,
   2610  2, 3, 0,
   2611  2, 3, 0,
   2612  2, 3, 0,
   2613  2, 3, 0,
   2614  2, 3, 0,
   2615  2, 3, 0,
   2616  2, 3, 0,
   2617  2, 3, 0,
   2618  2, 3, 0,
   2619  2, 3, 0,
   2620  2, 3, 0,
   2621  2, 3, 0,
   2622  2, 3, 0,
   2623  2, 3, 0,
   2624  2, 3, 0,
   2625  3, 4, 0,
   2626  3, 4, 0,
   2627  3, 4, 0,
   2628  3, 4, 0,
   2629  3, 4, 0,
   2630  3, 4, 0,
   2631  3, 4, 0,
   2632  3, 4, 0,
   2633  3, 4, 0,
   2634  3, 4, 0,
   2635  3, 4, 0,
   2636  3, 4, 0,
   2637  3, 4, 0,
   2638  3, 4, 0,
   2639  3, 4, 0,
   2640  3, 4, 0,
   2641  3, 4, 0,
   2642  3, 4, 0,
   2643  3, 4, 0,
   2644  3, 4, 0,
   2645  0, 1, 0,
   2646  0, 1, 0,
   2647  0, 1, 0,
   2648  0, 1, 0,
   2649  0, 1, 0,
   2650  0, 1, 0,
   2651  0, 1, 0,
   2652  0, 1, 0,
   2653  0, 1, 0,
   2654  0, 1, 0,
   2655  0, 1, 0,
   2656  0, 1, 0,
   2657  0, 1, 0,
   2658  0, 1, 0,
   2659  0, 1, 0,
   2660  0, 1, 0,
   2661  0, 1, 0,
   2662  0, 1, 0,
   2663  0, 1, 0,
   2664  0, 1, 0,
   2665  1, 2, 0,
   2666  1, 2, 0,
   2667  1, 2, 0,
   2668  1, 2, 0,
   2669  1, 2, 0,
   2670  1, 2, 0,
   2671  1, 2, 0,
   2672  1, 2, 0,
   2673  1, 2, 0,
   2674  1, 2, 0,
   2675  1, 2, 0,
   2676  1, 2, 0,
   2677  1, 2, 0,
   2678  1, 2, 0,
   2679  1, 2, 0,
   2680  1, 2, 0,
   2681  1, 2, 0,
   2682  1, 2, 0,
   2683  1, 2, 0,
   2684  1, 2, 0,
   2685  2, 3, 0,
   2686  2, 3, 0,
   2687  2, 3, 0,
   2688  2, 3, 0,
   2689  2, 3, 0,
   2690  2, 3, 0,
   2691  2, 3, 0,
   2692  2, 3, 0,
   2693  2, 3, 0,
   2694  2, 3, 0,
   2695  2, 3, 0,
   2696  2, 3, 0,
   2697  2, 3, 0,
   2698  2, 3, 0,
   2699  2, 3, 0,
   2700  2, 3, 0,
   2701  2, 3, 0,
   2702  2, 3, 0,
   2703  2, 3, 0,
   2704  2, 3, 0,
   2705  3, 4, 0,
   2706  3, 4, 0,
   2707  3, 4, 0,
   2708  3, 4, 0,
   2709  3, 4, 0,
   2710  3, 4, 0,
   2711  3, 4, 0,
   2712  3, 4, 0,
   2713  3, 4, 0,
   2714  3, 4, 0,
   2715  3, 4, 0,
   2716  3, 4, 0,
   2717  3, 4, 0,
   2718  3, 4, 0,
   2719  3, 4, 0,
   2720  3, 4, 0,
   2721  3, 4, 0,
   2722  3, 4, 0,
   2723  3, 4, 0,
   2724  3, 4, 0,
   2725  0, 1, 0,
   2726  0, 1, 0,
   2727  0, 1, 0,
   2728  0, 1, 0,
   2729  0, 1, 0,
   2730  0, 1, 0,
   2731  0, 1, 0,
   2732  0, 1, 0,
   2733  0, 1, 0,
   2734  0, 1, 0,
   2735  0, 1, 0,
   2736  0, 1, 0,
   2737  0, 1, 0,
   2738  0, 1, 0,
   2739  0, 1, 0,
   2740  0, 1, 0,
   2741  0, 1, 0,
   2742  0, 1, 0,
   2743  0, 1, 0,
   2744  0, 1, 0,
   2745  1, 2, 0,
   2746  1, 2, 0,
   2747  1, 2, 0,
   2748  1, 2, 0,
   2749  1, 2, 0,
   2750  1, 2, 0,
   2751  1, 2, 0,
   2752  1, 2, 0,
   2753  1, 2, 0,
   2754  1, 2, 0,
   2755  1, 2, 0,
   2756  1, 2, 0,
   2757  1, 2, 0,
   2758  1, 2, 0,
   2759  1, 2, 0,
   2760  1, 2, 0,
   2761  1, 2, 0,
   2762  1, 2, 0,
   2763  1, 2, 0,
   2764  1, 2, 0,
   2765  2, 3, 0,
   2766  2, 3, 0,
   2767  2, 3, 0,
   2768  2, 3, 0,
   2769  2, 3, 0,
   2770  2, 3, 0,
   2771  2, 3, 0,
   2772  2, 3, 0,
   2773  2, 3, 0,
   2774  2, 3, 0,
   2775  2, 3, 0,
   2776  2, 3, 0,
   2777  2, 3, 0,
   2778  2, 3, 0,
   2779  2, 3, 0,
   2780  2, 3, 0,
   2781  2, 3, 0,
   2782  2, 3, 0,
   2783  2, 3, 0,
   2784  2, 3, 0,
   2785  3, 4, 0,
   2786  3, 4, 0,
   2787  3, 4, 0,
   2788  3, 4, 0,
   2789  3, 4, 0,
   2790  3, 4, 0,
   2791  3, 4, 0,
   2792  3, 4, 0,
   2793  3, 4, 0,
   2794  3, 4, 0,
   2795  3, 4, 0,
   2796  3, 4, 0,
   2797  3, 4, 0,
   2798  3, 4, 0,
   2799  3, 4, 0,
   2800  3, 4, 0,
   2801  3, 4, 0,
   2802  3, 4, 0,
   2803  3, 4, 0,
   2804  3, 4, 0,
   2805  0, 1, 0,
   2806  0, 1, 0,
   2807  0, 1, 0,
   2808  0, 1, 0,
   2809  0, 1, 0,
   2810  0, 1, 0,
   2811  0, 1, 0,
   2812  0, 1, 0,
   2813  0, 1, 0,
   2814  0, 1, 0,
   2815  0, 1, 0,
   2816  0, 1, 0,
   2817  0, 1, 0,
   2818  0, 1, 0,
   2819  0, 1, 0,
   2820  0, 1, 0,
   2821  0, 1, 0,
   2822  0, 1, 0,
   2823  0, 1, 0,
   2824  0, 1, 0,
   2825  1, 2, 0,
   2826  1, 2, 0,
   2827  1, 2, 0,
   2828  1, 2, 0,
   2829  1, 2, 0,
   2830  1, 2, 0,
   2831  1, 2, 0,
   2832  1, 2, 0,
   2833  1, 2, 0,
   2834  1, 2, 0,
   2835  1, 2, 0,
   2836  1, 2, 0,
   2837  1, 2, 0,
   2838  1, 2, 0,
   2839  1, 2, 0,
   2840  1, 2, 0,
   2841  1, 2, 0,
   2842  1, 2, 0,
   2843  1, 2, 0,
   2844  1, 2, 0,
   2845  2, 3, 0,
   2846  2, 3, 0,
   2847  2, 3, 0,
   2848  2, 3, 0,
   2849  2, 3, 0,
   2850  2, 3, 0,
   2851  2, 3, 0,
   2852  2, 3, 0,
   2853  2, 3, 0,
   2854  2, 3, 0,
   2855  2, 3, 0,
   2856  2, 3, 0,
   2857  2, 3, 0,
   2858  2, 3, 0,
   2859  2, 3, 0,
   2860  2, 3, 0,
   2861  2, 3, 0,
   2862  2, 3, 0,
   2863  2, 3, 0,
   2864  2, 3, 0,
   2865  3, 4, 0,
   2866  3, 4, 0,
   2867  3, 4, 0,
   2868  3, 4, 0,
   2869  3, 4, 0,
   2870  3, 4, 0,
   2871  3, 4, 0,
   2872  3, 4, 0,
   2873  3, 4, 0,
   2874  3, 4, 0,
   2875  3, 4, 0,
   2876  3, 4, 0,
   2877  3, 4, 0,
   2878  3, 4, 0,
   2879  3, 4, 0,
   2880  3, 4, 0,
   2881  3, 4, 0,
   2882  3, 4, 0,
   2883  3, 4, 0,
   2884  3, 4, 0,
   2885  0, 1, 0,
   2886  0, 1, 0,
   2887  0, 1, 0,
   2888  0, 1, 0,
   2889  0, 1, 0,
   2890  0, 1, 0,
   2891  0, 1, 0,
   2892  0, 1, 0,
   2893  0, 1, 0,
   2894  0, 1, 0,
   2895  0, 1, 0,
   2896  0, 1, 0,
   2897  0, 1, 0,
   2898  0, 1, 0,
   2899  0, 1, 0,
   2900  0, 1, 0,
   2901  0, 1, 0,
   2902  0, 1, 0,
   2903  0, 1, 0,
   2904  0, 1, 0,
   2905  1, 2, 0,
   2906  1, 2, 0,
   2907  1, 2, 0,
   2908  1, 2, 0,
   2909  1, 2, 0,
   2910  1, 2, 0,
   2911  1, 2, 0,
   2912  1, 2, 0,
   2913  1, 2, 0,
   2914  1, 2, 0,
   2915  1, 2, 0,
   2916  1, 2, 0,
   2917  1, 2, 0,
   2918  1, 2, 0,
   2919  1, 2, 0,
   2920  1, 2, 0,
   2921  1, 2, 0,
   2922  1, 2, 0,
   2923  1, 2, 0,
   2924  1, 2, 0,
   2925  2, 3, 0,
   2926  2, 3, 0,
   2927  2, 3, 0,
   2928  2, 3, 0,
   2929  2, 3, 0,
   2930  2, 3, 0,
   2931  2, 3, 0,
   2932  2, 3, 0,
   2933  2, 3, 0,
   2934  2, 3, 0,
   2935  2, 3, 0,
   2936  2, 3, 0,
   2937  2, 3, 0,
   2938  2, 3, 0,
   2939  2, 3, 0,
   2940  2, 3, 0,
   2941  2, 3, 0,
   2942  2, 3, 0,
   2943  2, 3, 0,
   2944  2, 3, 0,
   2945  3, 4, 0,
   2946  3, 4, 0,
   2947  3, 4, 0,
   2948  3, 4, 0,
   2949  3, 4, 0,
   2950  3, 4, 0,
   2951  3, 4, 0,
   2952  3, 4, 0,
   2953  3, 4, 0,
   2954  3, 4, 0,
   2955  3, 4, 0,
   2956  3, 4, 0,
   2957  3, 4, 0,
   2958  3, 4, 0,
   2959  3, 4, 0,
   2960  3, 4, 0,
   2961  3, 4, 0,
   2962  3, 4, 0,
   2963  3, 4, 0,
   2964  3, 4, 0,
   2965  0, 1, 0,
   2966  0, 1, 0,
   2967  0, 1, 0,
   2968  0, 1, 0,
   2969  0, 1, 0,
   2970  0, 1, 0,
   2971  0, 1, 0,
   2972  0, 1, 0,
   2973  0, 1, 0,
   2974  0, 1, 0,
   2975  0, 1, 0,
   2976  0, 1, 0,
   2977  0, 1, 0,
   2978  0, 1, 0,
   2979  0, 1, 0,
   2980  0, 1, 0,
   2981  0, 1, 0,
   2982  0, 1, 0,
   2983  0, 1, 0,
   2984  0, 1, 0,
   2985  1, 2, 0,
   2986  1, 2, 0,
   2987  1, 2, 0,
   2988  1, 2, 0,
   2989  1, 2, 0,
   2990  1, 2, 0,
   2991  1, 2, 0,
   2992  1, 2, 0,
   2993  1, 2, 0,
   2994  1, 2, 0,
   2995  1, 2, 0,
   2996  1, 2, 0,
   2997  1, 2, 0,
   2998  1, 2, 0,
   2999  1, 2, 0,
   3000  1, 2, 0,
   3001  1, 2, 0,
   3002  1, 2, 0,
   3003  1, 2, 0,
   3004  1, 2, 0,
   3005  2, 3, 0,
   3006  2, 3, 0,
   3007  2, 3, 0,
   3008  2, 3, 0,
   3009  2, 3, 0,
   3010  2, 3, 0,
   3011  2, 3, 0,
   3012  2, 3, 0,
   3013  2, 3, 0,
   3014  2, 3, 0,
   3015  2, 3, 0,
   3016  2, 3, 0,
   3017  2, 3, 0,
   3018  2, 3, 0,
   3019  2, 3, 0,
   3020  2, 3, 0,
   3021  2, 3, 0,
   3022  2, 3, 0,
   3023  2, 3, 0,
   3024  2, 3, 0,
   3025  3, 4, 0,
   3026  3, 4, 0,
   3027  3, 4, 0,
   3028  3, 4, 0,
   3029  3, 4, 0,
   3030  3, 4, 0,
   3031  3, 4, 0,
   3032  3, 4, 0,
   3033  3, 4, 0,
   3034  3, 4, 0,
   3035  3, 4, 0,
   3036  3, 4, 0,
   3037  3, 4, 0,
   3038  3, 4, 0,
   3039  3, 4, 0,
   3040  3, 4, 0,
   3041  3, 4, 0,
   3042  3, 4, 0,
   3043  3, 4, 0,
   3044  3, 4, 0,
   3045  0, 1, 0,
   3046  0, 1, 0,
   3047  0, 1, 0,
   3048  0, 1, 0,
   3049  0, 1, 0,
   3050  0, 1, 0,
   3051  0, 1, 0,
   3052  0, 1, 0,
   3053  0, 1, 0,
   3054  0, 1, 0,
   3055  0, 1, 0,
   3056  0, 1, 0,
   3057  0, 1, 0,
   3058  0, 1, 0,
   3059  0, 1, 0,
   3060  0, 1, 0,
   3061  0, 1, 0,
   3062  0, 1, 0,
   3063  0, 1, 0,
   3064  0, 1, 0,
   3065  1, 2, 0,
   3066  1, 2, 0,
   3067  1, 2, 0,
   3068  1, 2, 0,
   3069  1, 2, 0,
   3070  1, 2, 0,
   3071  1, 2, 0,
   3072  1, 2, 0,
   3073  1, 2, 0,
   3074  1, 2, 0,
   3075  1, 2, 0,
   3076  1, 2, 0,
   3077  1, 2, 0,
   3078  1, 2, 0,
   3079  1, 2, 0,
   3080  1, 2, 0,
   3081  1, 2, 0,
   3082  1, 2, 0,
   3083  1, 2, 0,
   3084  1, 2, 0,
   3085  2, 3, 0,
   3086  2, 3, 0,
   3087  2, 3, 0,
   3088  2, 3, 0,
   3089  2, 3, 0,
   3090  2, 3, 0,
   3091  2, 3, 0,
   3092  2, 3, 0,
   3093  2, 3, 0,
   3094  2, 3, 0,
   3095  2, 3, 0,
   3096  2, 3, 0,
   3097  2, 3, 0,
   3098  2, 3, 0,
   3099  2, 3, 0,
   3100  2, 3, 0,
   3101  2, 3, 0,
   3102  2, 3, 0,
   3103  2, 3, 0,
   3104  2, 3, 0,
   3105  3, 4, 0,
   3106  3, 4, 0,
   3107  3, 4, 0,
   3108  3, 4, 0,
   3109  3, 4, 0,
   3110  3, 4, 0,
   3111  3, 4, 0,
   3112  3, 4, 0,
   3113  3, 4, 0,
   3114  3, 4, 0,
   3115  3, 4, 0,
   3116  3, 4, 0,
   3117  3, 4, 0,
   3118  3, 4, 0,
   3119  3, 4, 0,
   3120  3, 4, 0,
   3121  3, 4, 0,
   3122  3, 4, 0,
   3123  3, 4, 0,
   3124  3, 4, 0,
   3125  0, 1, 0,
   3126  0, 1, 0,
   3127  0, 1, 0,
   3128  0, 1, 0,
   3129  0, 1, 0,
   3130  0, 1, 0,
   3131  0, 1, 0,
   3132  0, 1, 0,
   3133  0, 1, 0,
   3134  0, 1, 0,
   3135  0, 1, 0,
   3136  0, 1, 0,
   3137  0, 1, 0,
   3138  0, 1, 0,
   3139  0, 1, 0,
   3140  0, 1, 0,
   3141  0, 1, 0,
   3142  0, 1, 0,
   3143  0, 1, 0,
   3144  0, 1, 0,
   3145  1, 2, 0,
   3146  1, 2, 0,
   3147  1, 2, 0,
   3148  1, 2, 0,
   3149  1, 2, 0,
   3150  1, 2, 0,
   3151  1, 2, 0,
   3152  1, 2, 0,
   3153  1, 2, 0,
   3154  1, 2, 0,
   3155  1, 2, 0,
   3156  1, 2, 0,
   3157  1, 2, 0,
   3158  1, 2, 0,
   3159  1, 2, 0,
   3160  1, 2, 0,
   3161  1, 2, 0,
   3162  1, 2, 0,
   3163  1, 2, 0,
   3164  1, 2, 0,
   3165  2, 3, 0,
   3166  2, 3, 0,
   3167  2, 3, 0,
   3168  2, 3, 0,
   3169  2, 3, 0,
   3170  2, 3, 0,
   3171  2, 3, 0,
   3172  2, 3, 0,
   3173  2, 3, 0,
   3174  2, 3, 0,
   3175  2, 3, 0,
   3176  2, 3, 0,
   3177  2, 3, 0,
   3178  2, 3, 0,
   3179  2, 3, 0,
   3180  2, 3, 0,
   3181  2, 3, 0,
   3182  2, 3, 0,
   3183  2, 3, 0,
   3184  2, 3, 0,
   3185  3, 4, 0,
   3186  3, 4, 0,
   3187  3, 4, 0,
   3188  3, 4, 0,
   3189  3, 4, 0,
   3190  3, 4, 0,
   3191  3, 4, 0,
   3192  3, 4, 0,
   3193  3, 4, 0,
   3194  3, 4, 0,
   3195  3, 4, 0,
   3196  3, 4, 0,
   3197  3, 4, 0,
   3198  3, 4, 0,
   3199  3, 4, 0,
   3200  3, 4, 0,
   3201  3, 4, 0,
   3202  3, 4, 0,
   3203  3, 4, 0,
   3204  3, 4, 0,
   3205  0, 1, 0,
   3206  0, 1, 0,
   3207  0, 1, 0,
   3208  0, 1, 0,
   3209  0, 1, 0,
   3210  0, 1, 0,
   3211  0, 1, 0,
   3212  0, 1, 0,
   3213  0, 1, 0,
   3214  0, 1, 0,
   3215  0, 1, 0,
   3216  0, 1, 0,
   3217  0, 1, 0,
   3218  0, 1, 0,
   3219  0, 1, 0,
   3220  0, 1, 0,
   3221  0, 1, 0,
   3222  0, 1, 0,
   3223  0, 1, 0,
   3224  0, 1, 0,
   3225  1, 2, 0,
   3226  1, 2, 0,
   3227  1, 2, 0,
   3228  1, 2, 0,
   3229  1, 2, 0,
   3230  1, 2, 0,
   3231  1, 2, 0,
   3232  1, 2, 0,
   3233  1, 2, 0,
   3234  1, 2, 0,
   3235  1, 2, 0,
   3236  1, 2, 0,
   3237  1, 2, 0,
   3238  1, 2, 0,
   3239  1, 2, 0,
   3240  1, 2, 0,
   3241  1, 2, 0,
   3242  1, 2, 0,
   3243  1, 2, 0,
   3244  1, 2, 0,
   3245  2, 3, 0,
   3246  2, 3, 0,
   3247  2, 3, 0,
   3248  2, 3, 0,
   3249  2, 3, 0,
   3250  2, 3, 0,
   3251  2, 3, 0,
   3252  2, 3, 0,
   3253  2, 3, 0,
   3254  2, 3, 0,
   3255  2, 3, 0,
   3256  2, 3, 0,
   3257  2, 3, 0,
   3258  2, 3, 0,
   3259  2, 3, 0,
   3260  2, 3, 0,
   3261  2, 3, 0,
   3262  2, 3, 0,
   3263  2, 3, 0,
   3264  2, 3, 0,
   3265  3, 4, 0,
   3266  3, 4, 0,
   3267  3, 4, 0,
   3268  3, 4, 0,
   3269  3, 4, 0,
   3270  3, 4, 0,
   3271  3, 4, 0,
   3272  3, 4, 0,
   3273  3, 4, 0,
   3274  3, 4, 0,
   3275  3, 4, 0,
   3276  3, 4, 0,
   3277  3, 4, 0,
   3278  3, 4, 0,
   3279  3, 4, 0,
   3280  3, 4, 0,
   3281  3, 4, 0,
   3282  3, 4, 0,
   3283  3, 4, 0,
   3284  3, 4, 0,
   3285  0, 1, 0,
   3286  0, 1, 0,
   3287  0, 1, 0,
   3288  0, 1, 0,
   3289  0, 1, 0,
   3290  0, 1, 0,
   3291  0, 1, 0,
   3292  0, 1, 0,
   3293  0, 1, 0,
   3294  0, 1, 0,
   3295  0, 1, 0,
   3296  0, 1, 0,
   3297  0, 1, 0,
   3298  0, 1, 0,
   3299  0, 1, 0,
   3300  0, 1, 0,
   3301  0, 1, 0,
   3302  0, 1, 0,
   3303  0, 1, 0,
   3304  0, 1, 0,
   3305  1, 2, 0,
   3306  1, 2, 0,
   3307  1, 2, 0,
   3308  1, 2, 0,
   3309  1, 2, 0,
   3310  1, 2, 0,
   3311  1, 2, 0,
   3312  1, 2, 0,
   3313  1, 2, 0,
   3314  1, 2, 0,
   3315  1, 2, 0,
   3316  1, 2, 0,
   3317  1, 2, 0,
   3318  1, 2, 0,
   3319  1, 2, 0,
   3320  1, 2, 0,
   3321  1, 2, 0,
   3322  1, 2, 0,
   3323  1, 2, 0,
   3324  1, 2, 0,
   3325  2, 3, 0,
   3326  2, 3, 0,
   3327  2, 3, 0,
   3328  2, 3, 0,
   3329  2, 3, 0,
   3330  2, 3, 0,
   3331  2, 3, 0,
   3332  2, 3, 0,
   3333  2, 3, 0,
   3334  2, 3, 0,
   3335  2, 3, 0,
   3336  2, 3, 0,
   3337  2, 3, 0,
   3338  2, 3, 0,
   3339  2, 3, 0,
   3340  2, 3, 0,
   3341  2, 3, 0,
   3342  2, 3, 0,
   3343  2, 3, 0,
   3344  2, 3, 0,
   3345  3, 4, 0,
   3346  3, 4, 0,
   3347  3, 4, 0,
   3348  3, 4, 0,
   3349  3, 4, 0,
   3350  3, 4, 0,
   3351  3, 4, 0,
   3352  3, 4, 0,
   3353  3, 4, 0,
   3354  3, 4, 0,
   3355  3, 4, 0,
   3356  3, 4, 0,
   3357  3, 4, 0,
   3358  3, 4, 0,
   3359  3, 4, 0,
   3360  3, 4, 0,
   3361  3, 4, 0,
   3362  3, 4, 0,
   3363  3, 4, 0,
   3364  3, 4, 0
   3365 };
   3366 
   3367 #define NB_CYL_X 4
   3368 #define NB_CYL_Y 4
   3369 #define NB_CYL_Z 4
   3370 #define NB_CYL (NB_CYL_X * NB_CYL_Y * NB_CYL_Z)
   3371 #define CYL_VRTX_COUNT 12u
   3372 #define CYL_TRG_COUNT 20u
   3373 
   3374 int
   3375 main(int argc, char** argv)
   3376 {
   3377   struct mem_allocator allocator;
   3378   struct senc3d_device* dev = NULL;
   3379   struct senc3d_scene* scn = NULL;
   3380   struct context ctx = CONTEXT_NULL__;
   3381   unsigned e, count;
   3382   (void)argc, (void)argv;
   3383 
   3384   OK(mem_init_proxy_allocator(&allocator, &mem_default_allocator));
   3385   OK(senc3d_device_create(NULL, &allocator, SENC3D_NTHREADS_DEFAULT, 1, &dev));
   3386 
   3387   /* Create a scene */
   3388   ctx.positions = some_enclosures_vertices;
   3389   ctx.indices = some_enclosures_triangles;
   3390   ctx.properties = some_enclosures_properties;
   3391   OK(senc3d_scene_create(dev,
   3392     SENC3D_CONVENTION_NORMAL_FRONT | SENC3D_CONVENTION_NORMAL_INSIDE,
   3393     some_enclosures_triangles_count, get_indices, get_media_from_properties,
   3394     some_enclosures_vertices_count, get_position, &ctx, &scn));
   3395 
   3396   OK(senc3d_scene_get_vertices_count(scn, &count));
   3397   CHK(count == NB_CYL * CYL_VRTX_COUNT);
   3398   OK(senc3d_scene_get_triangles_count(scn, &count));
   3399   CHK(count == NB_CYL * CYL_TRG_COUNT);
   3400 
   3401   OK(senc3d_scene_get_enclosure_count(scn, &count));
   3402   CHK(count == 1 + NB_CYL);
   3403   FOR_EACH(e, 0, count) {
   3404     struct senc3d_enclosure* enclosure;
   3405     struct senc3d_enclosure_header header;
   3406     unsigned m;
   3407     OK(senc3d_scene_get_enclosure(scn, e, &enclosure));
   3408     OK(senc3d_enclosure_get_header(enclosure, &header));
   3409     CHK(header.enclosed_media_count == 1);
   3410     OK(senc3d_enclosure_get_medium(enclosure, 0, &m));
   3411     CHK(header.primitives_count ==
   3412       (header.is_infinite /* Outermost enclosure: NB_CYL_X*NB_CYL_Y cylinders */
   3413         ? NB_CYL_X * NB_CYL_Y * CYL_TRG_COUNT
   3414         : (m == 0
   3415           ? CYL_TRG_COUNT /* Innermost enclosures: 1 cylinder */
   3416           : 2 * CYL_TRG_COUNT))); /* Other enclosures: 2 cylinders */
   3417     OK(senc3d_enclosure_ref_put(enclosure));
   3418   }
   3419 
   3420   OK(senc3d_scene_ref_put(scn));
   3421   OK(senc3d_device_ref_put(dev));
   3422 
   3423   check_memory_allocator(&allocator);
   3424   mem_shutdown_proxy_allocator(&allocator);
   3425   CHK(mem_allocated_size() == 0);
   3426   return 0;
   3427 }